LeetCode——19. Remove Nth Node From End of List

来源:互联网 发布:苹果电脑mac地址 编辑:程序博客网 时间:2024/05/01 17:12

大年初一来一题:思想很简单,就是两个指针相距n,后一个指针走到尾节点时前一个指针的下一个节点即为要删除的节点,思想简单,但是不同的写法时间复杂度相差不小,经过优化,下列算法beats59%

public class Solution {    public ListNode removeNthFromEnd(ListNode head, int n) {    ListNode preDelete,toLastNode;    ListNode headNode=new ListNode(0);    headNode.next=head;    preDelete=toLastNode=headNode;        while(toLastNode.next!=null){    n--;    if(n<0){    preDelete=preDelete.next;    }    toLastNode=toLastNode.next;    }    preDelete.next=preDelete.next.next;        return headNode.next;    }}


0 0
原创粉丝点击