Leetcode:203 Remove Linked List Elements(删除链表中的某个元素))

来源:互联网 发布:免费弱视训练软件 编辑:程序博客网 时间:2024/06/08 07:25

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

Credits:
Special thanks to @mithmatt for adding this problem and creating all test cases.
递归实现:

    if (head == null) return null;        head.next = removeElements(head.next, val);        if( head.val == val )            return head.next ;        else {            return head;        }

迭代:

        while (head != null && head.val == val){             head = head.next;        }        ListNode currNode = head;        while (currNode != null && currNode.next != null){            if (currNode.next.val == val)                currNode.next = currNode.next.next;            else                 currNode = currNode.next;        }        return head;
阅读全文
0 0
原创粉丝点击