[LeetCode]19. Remove Nth Node From End of List

栏目: 编程工具 · 发布时间: 6年前

内容简介:上面的方法需要遍历两次链表也可以一次遍历出

Given a linked list, remove the n-th node from the end of list and

return its head.

Example:

Given linked list: 1->2->3->4->5, and n = 2.

After removing the second node from the end, the linked list becomes

1->2->3->5. Note:

Given n will always be valid.

Follow up:

Could you do this in one pass?

链表操作的题,比较简单,主要主要Bug Free

public ListNode removeNthFromEnd(ListNode head, int n) {
    int len=0;
    ListNode cur=head;
    while(cur!=null){
        len++;
        cur=cur.next;
    }
    len=len-n;
    ListNode trueHead=new ListNode(0);
    trueHead.next=head;
    cur=trueHead;
    while(len>=1){
        cur=cur.next;
        len--;
    }
    cur.next=cur.next.next;
    return trueHead.next;
}

上面的方法需要遍历两次链表

也可以一次遍历出

public ListNode removeNthFromEnd(ListNode head, int n) {
    ListNode trueHead=new ListNode(0);
    trueHead.next=head;
    ListNode first=trueHead;
    ListNode second=trueHead;
    for(int i=0;i<n;i++) first=first.next;
    while(first.next!=null){
        first=first.next;
        second=second.next;
    }
    second.next=second.next.next;
    return trueHead.next;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Essential PHP Security

Essential PHP Security

Chris Shiflett / O'Reilly Media / 2005-10-13 / USD 29.95

Being highly flexible in building dynamic, database-driven web applications makes the PHP programming language one of the most popular web development tools in use today. It also works beautifully wit......一起来看看 《Essential PHP Security》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具