码迷,mamicode.com
首页 > 其他好文 > 详细

151.Remove Linked List Elements(删除链表元素)

时间:2018-09-09 16:45:07      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:input   tput   out   NPU   ext   for   null   list   ==   

题目:

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

从具有值val的整数的链接列表中删除所有元素。

Example:

Input:  1->2->6->3->4->5->6, val = 6
Output: 1->2->3->4->5

解答:

 1 /**
 2  * Definition for singly-linked list.
 3  * public class ListNode {
 4  *     int val;
 5  *     ListNode next;
 6  *     ListNode(int x) { val = x; }
 7  * }
 8  */
 9 class Solution {
10     public ListNode removeElements(ListNode head, int val) {
11         ListNode dummyHead=new ListNode(-1);
12         dummyHead.next=head;
13         ListNode curNode=dummyHead;
14         
15         while(curNode.next!=null){
16             if(curNode.next.val==val) curNode.next=curNode.next.next;
17             else curNode=curNode.next;
18         }
19         
20         return dummyHead.next;
21     }
22 }

详解:

设置虚拟头结点dummyHead,dummyHead.next=head,然后当前结点从dummyHead开始,当前结点的下一个结点不为空进行循环。

要删除的是当前结点的下一个结点,所以就把当前结点的next指向下一个结点的下一个结点即可。

最后返回的是头结点,即dummyHead的next

 

151.Remove Linked List Elements(删除链表元素)

标签:input   tput   out   NPU   ext   for   null   list   ==   

原文地址:https://www.cnblogs.com/chanaichao/p/9613878.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!