LeetCode#203. Remove Linked List Elements

来源:互联网 发布:看店宝软件 编辑:程序博客网 时间:2024/05/24 02:12
  • 题目:给定一个链表和一个待删除的值x(将链表中等于x的节点都删掉)
  • 难度:Easy
  • 思路:在代码里有详细写
  • 代码:
public class Solution {    public ListNode removeElements(ListNode head, int val) {       if(head == null){           return head;       }       //定义辅助节点,可以减少很多null判断       ListNode newHead = new ListNode(0);       newHead.next = head;       ListNode pre = newHead;       ListNode curr = pre.next;       while(curr != null){           //1.如果当前节点的值等于被删除的值,将pre的next指针指向当前节点的下一个节点           //2.如果不等于,则pre节点移到下一个节点的位置           //3.当前节点往后移动           ListNode next = curr.next;           if(curr.val == val){               pre.next = curr.next;               curr = null;//将删除节点赋值为null           }else{               pre = pre.next;           }           curr = next;       }       return newHead.next;    }
0 0
原创粉丝点击