leetcode [Remove Linked List Elements]//待整理多种解法
2017-04-13 22:29
495 查看
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode removeElements(ListNode head, int val) { //要删除链表的结点就需要两个个指针往下去遍历链表,prevP是为了记录当前结点的前一个结点,p是为了记录当前结点 //为了方便为原链表建一个哨位结点,这样就能表示第一个结点的前一个结点 if(head == null) return null; ListNode head1 = new ListNode(0); head1.next = head; ListNode prevP = head1; ListNode p = head; while(p != null){//循环中没有用到p.next.next,所以循环控制条件不用写while(p.next != null) if(p.val == val){//每一次都是判断当前结点 prevP.next = p.next; p = p.next; } else{//没有删除才正常移动 prevP = prevP.next; p = p.next; } } //循环中没有用到p.next.next,所以循环控制条件不用写while(p.next != null),也不用加下面这个了 /*//因为循环控制条件是while(p.next != null),所以最后还剩下一个单独的一个结点 if(p.val == val){ prevP.next = null; }*/ return head1.next; } }
相关文章推荐
- leetcode [Palindrome Linked List]//待整理多种解法
- leetcode之203. Remove Linked List Elements(C++解法)
- leetcode [Reverse Linked List]//待整理多种解法
- Remove Linked List Elements —— Leetcode
- LeetCode - Remove Linked List Elements
- leetcode--Remove Linked List Elements
- Leetcode--Remove Linked List Elements
- LeetCode Remove Linked List Elements
- 203. Remove Linked List Elements Leetcode Python
- (LeetCode 203)Remove Linked List Elements
- leetcode第203题-Remove Linked List Elements
- [LeetCode] Remove Linked List Elements
- leetcode 203: Remove Linked List Elements
- [Leetcode] Remove Linked List Elements
- Remove Linked List Elements——LeetCode
- [LeetCode] Remove Linked List Elements
- [LeetCode] Remove Linked List Elements
- LeetCode 203-Remove Linked List Elements
- leetcode: Remove Linked List Elements(java)
- leetcode 日经贴,Cpp code -Remove Linked List Elements