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

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

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

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;
}

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

查看所有标签

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

大数据日知录

大数据日知录

张俊林 / 电子工业出版社 / 2014-9 / 69.00元

大数据是当前最为流行的热点概念之一,其已由技术名词衍生到对很多行业产生颠覆性影响的社会现象,作为最明确的技术发展趋势之一,基于大数据的各种新型产品必将会对每个人的日常生活产生日益重要的影响。 《大数据日知录:架构与算法》从架构与算法角度全面梳理了大数据存储与处理的相关技术。大数据技术具有涉及的知识点异常众多且正处于快速演进发展过程中等特点,其技术点包括底层的硬件体系结构、相关的基础理论、大规......一起来看看 《大数据日知录》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具