【Leetcode】203. Remove Linked List Elements

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;
            
        }

 

posted @ 2018-02-20 17:17  于淼  阅读(65)  评论(0编辑  收藏  举报