Remove all elements from a linked list of integers that have valueval.
ExampleGiven:1 –> 2 –> 6 –> 3 –> 4 –> 5 –> 6,val= 6Return:1 –> 2 –> 3 –> 4 –> 5
Credits:
Special thanks to@mithmattfor adding this problem and creating all test cases.
弄一个前节点和当前节点,判断清楚状态就可以了。记录一下代码,,以便以后复习。
public static ListNode removeElements(ListNode head, int val) {ListNode preNode = null;ListNode curNode = head;ListNode temp = head;while(curNode != null){if(curNode.val == val){if(preNode!=null){preNode.next = curNode.next;curNode = curNode.next;}else{curNode = curNode.next;temp = curNode;}}else{preNode = curNode;curNode = curNode.next;}}return temp;}
不要等待机会,而要创造机会。