移除链表元素

删除链表中等于给定值 val 的所有节点。

示例:

输入: 1->2->6->3->4->5->6, val = 6
输出: 1->2->3->4->5

解答:
public static ListNode removeElements(ListNode head, int val) {
    /*定义一个哑节点*/
    ListNode dumb = new ListNode(0);
    /*定义一个节点赋值为哑节点*/
    dumb.next = head;
    /*定义一个遍历节点*/
    ListNode iter = dumb;
    /*当下个节点不为null时继续遍历*/
    while (iter.next != null) {
      ListNode curr = iter.next;
      /*如果下个节点等于val值,则下个节点替换为下下个节点并立即进行下次迭代*/
      if (curr.val == val) {
        iter.next = curr.next;
        continue;
      }
      /*如果不相等,迭代节点向后移动一个*/
      iter = iter.next;
    }
    return dumb.next;
  }
View Code

 

posted @ 2019-11-07 00:26  有为吴  阅读(253)  评论(0编辑  收藏  举报