203. Remove Linked List Elements
来源:互联网 发布:苏州固锝 知乎 编辑:程序博客网 时间:2024/06/05 11:09
原文题目:
203. Remove Linked List Elements
读题:
删除链表中节点的值与目标值相等的节点,这和单链表删除某个节点不一样的地方在于,可能需要删除多个节点。
解法一是自己写的,利用两个指针p和q,如果p,q相等,则将p->next = q->next,跳过q节点
解法二是AC代码里比较好的
//方法一 42msclass Solution {public:ListNode* removeElements(ListNode* head, int val) {ListNode* temp = new ListNode(0);temp->next = head;ListNode *p = temp;ListNode* q = head;while(q){//相等则删除该节点,if(q->val == val){p->next = q->next;}//不相等则将p指向q节点,这里的p至是临时指针,最后返回的是temp,因此p的改变不影响返回else{p = q;}q = q->next;}return temp->next;}};//方法二 25msclass Solution {public:ListNode* removeElements(ListNode* head, int val) {if(!head) return nullptr;//递归处理,将head的下一个节点指向剩余处理过的链表head->next = removeElements(head->next, val);//当head第一个节点为目标值,则将head往后移动一个节点即可,if(head->val == val){ListNode * temp = head;head = head->next;delete temp;}return head;}};
阅读全文
0 0
- 203. Remove Linked List Elements(Linked List)
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- 203. Remove Linked List Elements
- C++学习笔记17
- 边缘计算实验平台的思考
- Caffe学习(6)——solver及其配置
- C++操作SQLite数据库
- Cypher语言
- 203. Remove Linked List Elements
- HGDB默认支持xml数据类型;Postgresql如若使用xml需在编译时指定
- Struts2配置
- 第三方微博
- struts2标签详解
- poll方法(select多路监控原理与实现)
- 556. Next Greater Element III
- Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" 各个节点意思
- hive---DML一些学习