热搜:

Java输出链表倒数第k个节点怎么表示②

2017-11-02 16:09:04文章来源:点点软件园热度:0

更多

  有时我们会在java输出链中表示出节点,那么Java输出链表倒数第k个节点怎么表示呢,现在跟金顺软件园的小编一起看看吧。更多最新IT资讯尽在金顺软件园http://www.jinshun168.com/

  输入一个链表,输出该链表中倒数第k个结点。(尾结点是倒数第一个)

  结点定义如下:

QQ截图20171102160510.jpg

  思路1:

  先遍历链表,计算其长度length;

  然后计算出倒数第k个结点就是正数第length - k + 1.

  最后再遍历链表,找到所求结点

  时间复杂度O(2n),需要遍历两次链表

  代码:

QQ截图20171102160520.jpg

    金顺软件园小编推荐:

    Java中@Override有什么作用

    怎么把Java程序打包成jar文件包并执行的方法

  思路2:

  期待只遍历链表一次就能得到。


  设置两个指针,一个初始化指向第一个结点,第二个指向第k个结点。然后两个指针同步向后移动,当第二个指向尾结点时,第一个指针即指向了倒数第k个结点

  代码:

QQ截图20171102160535.jpg

  思路3:

  将链表反转,那么原问题就变为求正数第k个结点。然而这改变了原本的链表,且并不会比思路2更高效


    金顺软件园小编推荐:

    Java语言实现反转链表代码是什么

    km盒子如何禁止java自动更新提示

以上,就是金顺软件园小编给大家带来的Java输出链表倒数第k个节点怎么表示②全部内容,希望对大家有所帮助!

上一篇Java中@Override有什么作用下一篇pp助手怎么删除导入的铃声的方法
编辑:冬天刚发芽
标签Java