【剑指offer】面试题22:链表中倒数第 K 个节点
题目: 输入一个链表,输出该链表中倒数第k哥结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。例如一个链表有6个结点,从头结点开始它们的值依次是1,2,3,4,5,6。这个链表的倒数第3个结点是值为4的结点。
代码:
package offer;
import java.util.Scanner;
class Node2
{
int val;
Node2 next = null;
Node2(int val)
{
this.val = val;
}
}
public class ti22 {
public static int findKNode(Node2 head,int k)
{
Node2 p = head;
if(k<=0||head==null)
{
return -1;
}
while(k!=0)
{
k--;
p = p.next;
if(p==null)
{
return -1;
}
}
Node2 q = head;
while(p!=null)
{
q = q.next;
p = p.next;
}
return q.val;
}
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int k = sc.nextInt();
Node2 node1 = new Node2(1);
Node2 node2 = new Node2(2);
Node2 node3 = new Node2(3);
Node2 node4 = new Node2(4);
Node2 node5 = new Node2(5);
Node2 node6 = new Node2(6);
node1.next = node2;
node2.next = node3;
node3.next = node4;
node4.next = node5;
node5.next = node6;
Node2 head = node1;
System.out.println(findKNode(head,k));
}
}
【剑指offer】面试题22:链表中倒数第 K 个节点相关推荐
- 剑指Offer - 面试题22. 链表中倒数第k个节点(快慢指针)
1. 题目 输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点.例如,一个链表有6个节点,从头节点开始,它们的值依次是1.2.3.4.5 ...
- 剑指offer面试题22. 链表中倒数第k个节点(链表)
题目描述 输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点.例如,一个链表有6个节点,从头节点开始,它们的值依次是1.2.3.4.5. ...
- 剑指offer面试题[15]-链表中倒数第K个结点
题目描述 输入一个链表,输出该链表中倒数第k个结点. 思路: 假设链表有n个结点,那么倒数第k个结点就是从头结点开始的第n-k+1个结点,我们只要从头结点开始往后走n-k+1步就可以了.那么问题来了: ...
- 剑指offer:面试题22. 链表中倒数第k个节点
题目:链表中倒数第k个节点 输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点.例如,一个链表有6个节点,从头节点开始,它们的值依次是1 ...
- 剑指offer(C++)-JZ22:链表中倒数最后k个结点(数据结构-链表)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点 ...
- 面试题22. 链表中倒数第k个节点
2020-03-21 1.题目描述 链表中倒数第k个节点 2.题解 倒数第k个,相当于正数第l-k+1个,其中l为链表的长度 3.代码 #include <iostream> using ...
- 【每日一题】剑指 Offer 22. 链表中倒数第k个节点
剑指 Offer 22. 链表中倒数第k个节点
- 【LeetCode】剑指 Offer 22. 链表中倒数第k个节点
[LeetCode]剑指 Offer 22. 链表中倒数第k个节点 文章目录 [LeetCode]剑指 Offer 22. 链表中倒数第k个节点 一.遍历 二.双指针 总结 一.遍历 先遍历统计链表长 ...
- 力扣—— 19. 删除链表的倒数第 N 个结点(java)、剑指 Offer 22. 链表中倒数第k个节点(java)
19. 删除链表的倒数第 N 个结点(java) 一.题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. 进阶:你能尝试使用一趟扫描实现吗? 输入:head = [1,2,3 ...
- LeetCode-剑指 Offer 22. 链表中倒数第k个节点
剑指 Offer 22. 链表中倒数第k个节点 思路一:利用快慢双指针 /*** Definition for singly-linked list.* struct ListNode {* int ...
最新文章
- 软件定义光网络-SDON
- Linux有问必答-如何创建和挂载XFS文件系统
- ActiveMQ学习(七)
- ubuntu 安装phpstorm
- linux ksh 历史命令,防止Linux中的bash(和ksh)历史记录更改
- Elasticsearch5中安装Elasticsearch-head插件
- 设计模式笔记零:设计模式简介
- 设计模式的七大设计原则:其六:迪米特法则
- Asp.net MVC代替php
- useradd和adduser的区别
- 开课吧Java教程:如何用listFiles()方法
- 第二课 了解编程环境
- [!] Gradle threw an error while downloading artifacts from the network. Retrying to download... Runn
- 【无标题】scp的使用
- 数字信号处理实验二:DFT的共轭对称性及应用
- 第二篇 我的书单(Jason Booklist)
- 深度神经网络和人工神经网络区别
- [PB] PB中读写文件通用的两个函数
- 银河麒麟v4.0.2安装
- 我的世界html启动器资源,我的世界hmcl启动器mod
热门文章
- LeetCode 252. 会议室(排序)
- LeetCode 1310. 子数组异或查询(前缀异或)
- 剑指Offer - 面试题38. 字符串的排列(全排列,排序,回溯+剪枝)
- Android8.1怎么装谷歌,谷歌PixelXL安卓9.0/8.1/8.0/7.X安装面具ROOT方案
- 修改dts后重编译_「正点原子FPGA连载」第二十章另一种方式编译ZYNQ镜像
- Python随机数生成方法
- python中的生产者与消费者模式
- 微软亚洲研究院NLC组招聘实习生!与一线研究员共探NLP前沿与落地!
- NLP史上最全预训练模型汇总
- 美团的DBProxy实践