博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
找到一个链表中倒数第k个数
阅读量:4058 次
发布时间:2019-05-25

本文共 966 字,大约阅读时间需要 3 分钟。

运用双指针法:

先让一个指针在前面走k个节点。

然后两个指针一起走,等到后面那个指针到达终点,前面这个指针就是第k个节点

package List;public class FindKthFromEnd {    /**     * 问题描述:找到一个链表中的第k个节点     * 解法:双指针法:     */    public static Node findKthFromEnd(Node head, int k){        if(head == null){            return null;        }        Node ahead = head;        Node back = head;        int count = k - 1;//从头节点移动到第k个元素是移动k-1次,        while(ahead != null && count != 0){            ahead = ahead.next;            count--;        }        if(ahead == null){            return null;        }        ahead = ahead.next;//因为后节点在链首位置,所以前节点需要先移动一次        while(ahead != null){            ahead = ahead.next;            back = back.next;        };        return back;    }    public static void main(String[] args){        Node node1 = new Node(1);        Node node2 = new Node(2);        Node node3 = new Node(3);        node1.next = node2;        node2.next = node3;        System.out.print(findKthFromEnd(node1,3).value);    }}

 

转载地址:http://tnzji.baihongyu.com/

你可能感兴趣的文章
Oracle 12C DG 搭建(RAC-RAC/RAC-单机)
查看>>
Truncate 表之恢复
查看>>
Oracle DG failover 后恢复
查看>>
mysql 主从同步配置
查看>>
为什么很多程序员都选择跳槽?
查看>>
mongdb介绍
查看>>
mongdb在java中的应用
查看>>
区块链技术让Yotta企业云盘为行政事业服务助力
查看>>
Yotta企业云盘更好的为媒体广告业服务
查看>>
Yotta企业云盘助力科技行业创高峰
查看>>
Yotta企业云盘更好地为教育行业服务
查看>>
Yotta企业云盘怎么帮助到能源化工行业
查看>>
企业云盘如何助力商业新发展
查看>>
医疗行业运用企业云盘可以带来什么样的提升
查看>>
媒体广告业如何将内容资产进行高效地综合管理与利用
查看>>
能源化工要怎么管控核心数据
查看>>
媒体广告业如何运用云盘提升效率
查看>>
企业如何运用企业云盘进行数字化转型-实现新发展
查看>>
司法如何运用电子智能化加快现代化建设
查看>>
iSecret 1.1 正在审核中
查看>>