1. 程式人生 > >【Leetcode】203. Remove Linked List Elements

【Leetcode】203. Remove Linked List Elements

tno lee div node move nod public amp ret

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

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

Tips:從鏈表中刪除值為val的結點。

思路:①當head不為空,循環。當值為val就將下一個結點的值付給當前節點。

②判斷node.next的值是否為val,如果是 就越過下一個結點。 node.next=node.next.next;

最後判斷第一個結點的值。

public ListNode removeElements(ListNode head, int val) {
          if(head==null) return null;
          if(head.next==null && head.val==val) return null;
          ListNode node = head;
          while(node.next!=null){
              if(node.next.val==val){
                 node.next
=node.next.next; } else node=node.next; } return head.val==val?head.next:head; }

【Leetcode】203. Remove Linked List Elements