数据结构:遍历一次获得链表的倒数第N个节点
来源:互联网 发布:淘宝上传图片 编辑:程序博客网 时间:2024/05/18 20:12
最近在学习链表中,发现一道题:
遍历一次链表,获得链表的倒数第N个节点
思路: 要想获得倒数第N个节点,就会不自然的想到,倒数第N个节点是正数第M-N+1个节点(假设链表长度是M), 这时候,我们以,M-N+1和M+1这两个节点为标准,一起向前遍历,直到M-N+1的节点为1,这时,M+1的节点为N+1. 我们将p1和p2分别替换上边的指针,且p1和p2之间相差n个节点。
public void OnePass(int k){ Node p1=head; Node p2=head; int index=0; while(p2!=null&&index<k){ p2=p2.next; index++; } //这时候p2指针指向的是N+1的节点 while(p2!=null){ p2=p2.next;//p2一直指向链表的末尾 p1=p1.next;//相应的p1指向M-N+1的位置(倒数第N个节点) } System.out.println(p1.data); }
0 0
- 数据结构:遍历一次获得链表的倒数第N个节点
- 链表遍历一次删除倒数第N个节点
- 一次遍历找链表倒数第n个节点
- 线性表---单链表(一次遍历找链表倒数第n个节点)
- C实现简单单向链表,一次遍历查找倒数第k个节点的值
- 查找单链表的倒数第k个节点,要求只能遍历一次链表
- 查找单链表的倒数第k个节点,要求只能遍历一次链表
- 链表--查找单链表的倒数第k个节点,要求只能遍历一次链表
- 查找单链表的倒数第k个节点,要求只能遍历一次链表
- 查找单链表的倒数第k个节点,要求只能遍历一次链表
- 链表4 ---- 如何一次遍历删除链表的倒数第n个元素
- 链表倒数第n个节点
- 链表倒数第n个节点
- 链表倒数第n个节点
- 链表倒数第n个节点
- 链表倒数第n个节点
- 链表倒数第n个节点
- 链表倒数第n个节点
- 数字化企业云平台下的移动平台建设
- Error:(1, 1) java: 非法字符: '\ufeff'
- 一些简单配置模板方便使用echarts 3.2.0
- 移动APP安全
- 【职坐标】 java基础内容汇总
- 数据结构:遍历一次获得链表的倒数第N个节点
- 字节对齐
- Swift 加锁
- android安装内核module,提示Required key not
- jsp显示数据库的查询结果
- 微信硬件平台设备直连全讲解(6)设备端SDK导入和设备登陆
- iOS 如何把项目托管到GitHub
- opencv_contrib 添加cuda支持
- 【USACO TRAINING】数字金字塔(DP)