当前位置: 首页 > 编程日记 > 正文

leetcode 203 Remove Linked List Elements



Remove all elements from a linked list of integers that have valueval.

Example
Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6
Return: 1 --> 2 --> 3 --> 4 --> 5



我的解法:




// Linklist.cpp : Defines the entry point for the console application.
//#include "stdafx.h"#include<iostream>
using namespace std;struct ListNode{int val;ListNode *next;ListNode(int x) : val(x), next(NULL) {}};ListNode* removeElements(ListNode* head, int val) {if(head == NULL)return head;ListNode* pre = NULL;ListNode* root = head;ListNode* current = head;while(current!=NULL){if(current->val == val){if(pre==NULL){current = current->next;root = current;}else{pre->next = current->next;current = current->next;}}else{pre = current;current =current->next;}}return root;}int _tmain(int argc, _TCHAR* argv[])
{ListNode* temp = new ListNode(2);ListNode* temp_next = new ListNode(1);temp->next = temp_next;removeElements(temp,1);return 0;
}


python的解法:


class Solution:# @param {ListNode} head# @param {integer} val# @return {ListNode}def removeElements(self, head, val):dummy = ListNode(-1)dummy.next = headprev = dummywhile head:if head.val == val:prev.next = head.nexthead = prevprev = headhead = head.nextreturn dummy.next



一个非常简洁的解法:


struct ListNode* removeElements(struct ListNode* head, int val) 
{if (head&&head->val==val)head=removeElements(head->next, val);if (head&&head->next)head->next=removeElements(head->next, val);return head;
}



转载于:https://www.cnblogs.com/wangyaning/p/7853999.html

相关文章:

eclipse实用快捷键

eclipse的快捷键非常的多&#xff0c;全部记录一遍也不利于查看&#xff0c;记录一些比较实用的更加方便。 ctrl / 注释单行/取消注释 ctrl Z 回退一步 ctrl Y &#xff08;回退后&#xff09;前一步 ctrl S 保存 ctrl D 删除行 alt / 补全提示 ctrl …

集合 泛型 迭代器

什么是集合 集合与数组的区别 数组的长度是固定的&#xff0c;集合的长度是可变的数组中可以存储任何类型的元素&#xff08;基本类型和引用类型&#xff09;&#xff0c;集合只能存储引用类型的。 集合 在java中提供了很多的集合&#xff0c;因为用户要求存储不同接口的数据…

《监控》再起风云,连同创作中的《监控2》成功牵手影视公司

“监控”&#xff0c;辞海上的解释为&#xff1a;监测并进行控制。 “监控”&#xff0c;百度百科解释为&#xff1a;监控&#xff0c;职场谍战小说。 从2个月内超过230万人阅读的天涯热帖&#xff0c;到上市两月即获重印的畅销图书&#xff0c;神秘作者搏击带着他的《监控》在…

跟我学交换机配置(四)

以下内容摘自笔者最新图书《Cisco/H3C交换机配置与管理完全手册》。本书在51CTO上的样章试读地址为&#xff1a;http://book.51cto.com/art/200908/142118.htm 8.5.4 创建PVLAN 在IOS和CatOS系统交换机中都可以配置PVLAN&#xff0c;所以下面也分别予以介绍。 1. IOS系统交换机…

使用nc传输文件和目录【转】

方法1&#xff0c;传输文件演示&#xff08;先启动接收命令&#xff09; 使用nc传输文件还是比较方便的&#xff0c;因为不用scp和rsync那种输入密码的操作了把A机器上的一个rpm文件发送到B机器上需注意操作次序&#xff0c;receiver先侦听端口&#xff0c;sender向receiver所在…

假如有Thread1、Thread2、ThreaD3、Thread4四条线程分别统计C、D、E、F四个盘的大小,所有线程都统计完毕交给Thread5线程去做汇总,应当如何实现?...

有两种方法&#xff1a; 第一种方法&#xff1a; 一般情况&#xff0c;我们实现多线程都是Thread或者Runnable(后者比较多)&#xff0c;但是&#xff0c;这两种都是没返回值的&#xff0c;所以我们需要使用callable(有返回值的多线程)和future(获得线程的返回值)来实现了。 /**…

ORA-00907:缺少右括号

在创建以下表的时候出现ORA-00907&#xff1a;缺少右括号的错误&#xff0c;最后发现是字符串类型写错了&#xff0c;VARCHAR2写成了VARCAHR2&#xff0c; /**//* DBMS name: ORACLE Version 9i2 *//* Created on: 2010-4-23 12:28:27 …

Java Web项目第二次总结

学生管理系统 问题 jQuery 不熟悉El需要复习servlet的内置对象 新认识的知识 利用servlet的 Session对象实现权限的验证。它的作用是:只能通过登录后才能进入主界面&#xff0c;否则不能进入。没有加权限验证前是可以根据页面的完整路径进入主界面&#xff0c;可以不输入密…

软件项目中的需求分析具体方法探讨之一

这家单位&#xff0c;我进去没多久&#xff0c;满打满算也就刚两月多一周而已。我也不是开发部的人&#xff0c;但是&#xff0c;看到了一些事情&#xff0c;纯为有感而发。领导想做个CRM&#xff0c;于是&#xff0c;开发部的人写了&#xff0c;当然&#xff0c;正式的需求分析…

portscaner 多线程、多协程并发端口扫描

import socket,time,re,sys,os,threading import gevent from gevent import monkey monkey.patch_all()socket.setdefaulttimeout(2)#该方法用来处理用户数据的port范围&#xff0c;并计算范围内的port&#xff0c;将其添加到列表中&#xff0c;将列表返回 def handle_port(in…

POJ 2828 Buy Tickets | 线段树的喵用

题意: 给你n次插队操作,每次两个数,pos,w,意为在pos后插入一个权值为w的数; 最后输出1~n的权值 题解: 首先可以发现,最后一次插入的位置是准确的位置 所以这个就变成了若干个子问题, 所以用线段树维护一下每个区间剩余多少位置可选 对于一个pos 如果左儿子的剩余超过当前位置,就…

Ext结合DWR的关键代码(运行成功的DWRProxy)

关键代码如下&#xff1a;Store为&#xff1a;var ds new Ext.data.Store({ proxy: new Ext.data.DWRProxy({ callback: Folder.getMessageList, params: { start: 0, limit: PAGE_SIZE } }), // proxy: new…

serlvet 九大内置对象

隐式对象 说明 request 转译后对应HttpServletRequest/ServletRequest对象 response 转译后对应HttpServletRespons/ServletResponse对象 session 转译后对应HttpSession对象 application 转译后对应ServletContext对象 out 转译后对应JspWriter对象&#xff0c;其…

网路游侠:某软件版WEB应用防火墙试用

去年的这个时候&#xff0c;游侠(www.youxia.org)认为WAF都是硬件的&#xff0c;后来在网上看到这个在国内做的不错的牌子。居然是软件的WAF&#xff0c;这样的话&#xff0c;一些服务器在机房托管的用户就特别需要这样的产品&#xff0c;因为1U的设备在电信机房的托管费用都有…

P2172 [国家集训队]部落战争 二分图最小不相交路径覆盖

二分图最小不相交路径覆盖 #include<bits/stdc.h> using namespace std; const int MAXN 5550; const int MAXM 1000005; const int INF 1000000050; int Head[MAXN], cur[MAXN], lev[MAXN], to[MAXM << 1], nxt[MAXM << 1], f[MAXM << 1], ed 1, …

IO流 字符流 字节流 缓冲流 文件的复制

IO流 IO概述 IO流就是一个管道&#xff0c;是用来在设备之间传输数据 input&#xff1a;相对于内存/程序 往进走输入流 output&#xff1a;相对于内存/程序 往硬盘写入 分类 根据数据进出方式 1、输出流&#xff1a; FileWriter 字符输出流BufferedWriter 字符缓冲输出…

强烈推荐:240多个jQuery插件

http://www.cnblogs.com/Terrylee/archive/2007/12/09/the-ultimate-jquery-plugin-list.html转载于:https://www.cnblogs.com/HughTan/archive/2010/05/14/1735376.html

FreeBSD Ports加速的方法

使用代理。 在/etc/make.conf中设置&#xff1a;FETCH_ENV "HTTP_PROXYIP[:端口]"如果需要&#xff0c;在FETCH_ENV值后面加入空格&#xff0c;HTTP_PROXY_AUTHbasic:*:user:password利用其他机器下载的文件... 首先&#xff0c;请确保2台机器cvsup的一致&#xff0…

AngularJS ng-if使用

示例中&#xff0c;根据ng-if指令显示不同任务状态&#xff0c;以及判断任务是否可以操作 <div ng-app"NgifDemoApp" ng-controller"NgifDemoContrl as vm"><h1>任务列表</h1><table class"table"><thead><tr&…

一、Tableau基础

有关函数的官方文档&#xff1a;https://onlinehelp.tableau.com/current/pro/desktop/zh-cn/functions_functions_string.htm 注意事项&#xff1a; 1.记录数:是Tableau自动给每行观测值赋值为1。 2.维度的字段&#xff0c;是不能用于计算的&#xff0c;若是要用于计算&#x…

关于OGNL表达式中的%,$,#

OGNL表达式非常强大&#xff5e;其中#、%、$这三个符号在OGNL表达式中经常出现&#xff0c;而这三种符号也是开发者不容易掌握和理解的部分&#xff0c;要认真区分。1&#xff0e;#符号的用途一般有三种。 1)访问非根对象属性&#xff0c;例如示例中的#session.msg表达式&#…

JavaWeb项目第三次总结_成绩查询的实现

查询图书的功能实现 如何知道浏览器往服务器传入的参数 1、在编写好查询页面后&#xff0c;使用火狐浏览器的friebug &#xff08;全部—>POST—>参数&#xff09; 2、编写GradeListServlet&#xff0c;重写doGet&#xff08;&#xff09;和doPOST&#xff08;&#x…

cisco路由交换系统测试命令

路由交换系统测试命令通用测试命令&#xff1a;ping X.X.X.X &#xff1a;标准ping命令&#xff0c;用于测试设备间的物理连通性ping &#xff1a;扩展ping命令&#xff0c;也用于设备间的物理连通性&#xff0c;扩展ping命令还支持灵活定义ping命令的参数&#xff0c;比…

jquery下拉菜单

自己写的一个菜单(因为是初学 不知道能不能算无限级)jquery $(document).ready(function(){ $("ul li").hover(function(){ $(this).find("ul:first").show();//鼠标滑过查找li下面的第一个ul然后显示&#xff1b;},function(){ …

MongoDB update修改器: 针对Fields的$修改器 $inc $set $unset

MongoDB update修改器: $inc $set $unset $push $pull $pop 针对Fields的$修改器 $set&#xff1a; { $set: { key: value } } $set:{"gender":"男"} 解释: $set 是update时的关键字,表示我要设置gender属性的值为"男" 如果该条Documents没有gen…

都是些什么人!

都是些什么人&#xff01;转载于:https://www.cnblogs.com/liyugeng/p/7877615.html

IO流(二)转换流、序列化、commons-IO框架

转换流 介于字符流和字节流之间的流 字节流与字节流相互转换 OutputStreamWriter 输出流&#xff0c;按照指定的字符集编码&#xff0c;把字符流转化成字节数据 编码&#xff1a;把字符数据转换成字节数据&#xff1b; 解码&#xff1a;把字节数据转换成字符数据 二进制数据—&…

Http之Get/Post请求区别

今天在网上看了一些关于http 协议中get 和Post的文章。在此做一个总结&#xff0c;当是做一个笔记吧。 一、什么是HTTP-GET和HTTP-POST HTTP-GET和HTTP-POST是使用HTTP的标准协议动词&#xff0c;用于编码和传送变量名/变量值对参数&#xff0c;并且使用相关的请求语义。每个HT…

[vb+mo] visual baisc 6.0 基于mapobjects 2.4 开发的数字化校园电子地图

程序的源代码下载地址: https://docs.google.com/ 请安装VB6.0企业版(不是企业版运行会报错,因为缺少相应的控件)和ESRI MO2.4 程序的质量一般,因为时间仓促,主要是毕业设计时间仓促.希望大家多多改进.有什么问题可以发邮件欢迎交流. 程序的主窗口代码: 通用变量定义Private l…

vsftp部署

1.安装该软件需要使用最高用户&#xff08;root&#xff09;进行安装&#xff0c;否则不能进行。 2.首先用命令检查VSFTP是否已经安装。chkconfig --list | grep vsftpd 3.安装vsftp。yum install –y vsftpd 4.启动vsftp。service vsftpd start 5.添加一个ftp用户。useradd f…