LeetCode Remove Linked List Elements

来源:互联网 发布:恐怖黎明官网数据库 编辑:程序博客网 时间:2024/06/07 06:20

题意:删除数组中的指定元素

思路:在遍历链表时,记录前继结点和当前结点,如果胶继结点为空,说明是头结点,当前结点移动时,头结点也随着移动。当要找的结点在链表中时,将前继结点的后继结点修改为当前结点的后继结点,同时更新当前结点;当不是要找的结点时,更新前继结点和当前结点

代码如下:

class ListNode{    int val;    ListNode next;    ListNode(int x) { val = x;}}class Solution{    public ListNode removeElements(ListNode head, int val)    {        ListNode pre = null;        ListNode cur = head;        while (cur != null)        {            if (cur.val == val)            {                if (null == pre)                {                    cur = cur.next;                    head = cur;                    continue;                }                else                {                    pre.next = cur.next;                    cur = cur.next;                    continue;                }            }            pre = cur;            cur = cur.next;        }        return head;    }}


0 0
原创粉丝点击