LeetCode-Delete Node in a Linked List

来源:互联网 发布:linux登录密码修改 编辑:程序博客网 时间:2024/06/02 07:28

这道题并没有给list的head,想了很久如何access要删除的node的前一个。 看了答案后知道可以把这个node之后的每个节点依次assign成下一个的值 就像array
/** * Definition for singly-linked list. * public class ListNode { *     int val; *     ListNode next; *     ListNode(int x) { val = x; } * } */public class Solution {    public void deleteNode(ListNode node) {        while ( node.next != null ){             node.val = node.next.val;            if ( node.next.next != null )                node = node.next;            else node.next = null;        }        return;    }}

写完了发现并不是这样。。。

直接改变这个node的值为下个的 然后挪动指针就好

public class Solution {    public void deleteNode(ListNode node) {        if ( node != null && node.next != null ){            node.val = node.next.val;            node.next = node.next.next;        }    }}


0 0
原创粉丝点击