文档章节

【九度OJ1517】|【剑指offer15】链表中倒数第k个结点

aqia358
 aqia358
发布于 2013/10/18 12:42
字数 272
阅读 42
收藏 0
题目描述:

输入一个链表,输出该链表中倒数第k个结点。
(hint: 请务必使用链表。)

输入:

输入可能包含多个测试样例,输入以EOF结束。
对于每个测试案例,输入的第一行为两个整数n和k(0<=n<=1000, 0<=k<=1000):n代表将要输入的链表元素的个数,k代表要查询倒数第几个的元素。
输入的第二行包括n个数t(1<=t<=1000000):代表链表中的元素。

输出:

对应每个测试案例,
若有结果,输出相应的查找结果。否则,输出NULL。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;

class Node{
	public int data;
	public Node next;
	public Node(int data){
		this.data = data;
	}
}
public class Main {

	public static void main(String[] args) throws IOException {
		StreamTokenizer st = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
		while(st.nextToken() != st.TT_EOF){
			int n = (int) st.nval;
			st.nextToken();
			int num = (int) st.nval;
			Node first = new Node(-1);
			int count = 0;
			while(count < n){
				st.nextToken();
				int t = (int) st.nval;
				Node node = new Node(t);
				node.next = first;
				first = node;
				count++;
			}
			if(num > n)
				System.out.println("NULL");
			else{
				Node f = first;
				while(num > 1){
					f = f.next;
					num--;
				}
				System.out.println(f.data);
			}
		}
	}

}


© 著作权归作者所有

共有 人打赏支持
aqia358
粉丝 6
博文 82
码字总数 30297
作品 0
海淀
程序员
私信 提问
[算法总结] 一文搞懂面试链表题

本文首发于我的个人博客:尾尾部落 链表是面试过程中经常被问到的,这里把剑指offer 和 LeetCode 中的相关题目做一个汇总,方便复习。 1. 在 O(1) 时间删除链表节点 题目描述:给定单向链表的...

繁著
08/28
0
0
Java实现链表面试题

本文包含链表的以下内容:   1、单链表的创建和遍历   2、求单链表中节点的个数   3、查找单链表中的倒数第k个结点(剑指offer,题15)   4、查找单链表中的中间结点   5、合并两个...

火力全開
2016/10/09
13
0
面试 7:快慢指针法玩转链表算法面试(一)

面试 7:面试常见的链表类算法捷径 链表是我们数据结构面试中比较容易出错的问题,所以很多面试官总喜欢在这上面下功夫,为了避免出错,我们最好先进行全面的分析。在实际软件开发周期中,设...

nanchen2251
07/12
0
0
[剑指offer] 链表中倒数第k个结点

题目描述 输入一个链表,输出该链表中倒数第k个结点。 解题思路 经典的双指针法。定义两个指针,第一个指针从链表的头指针开始遍历向前走步,第二个指针保持不动,从第步开始,第二个指针也开...

繁著
06/28
0
0
剑指offer 15. 链表中倒数第k个结点

原题 输入一个链表,输出该链表中倒数第k个结点。 Reference Answer 解题思路: 对于这种python求解链表题,尤其是本题让返回节点或者值,直接先遍历玩链表转换到 python 的list中,再进行操作...

dby_freedom
10/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Centos7 防火墙 firewalld 实用操作

摘要: 一.前言 Centos7以上的发行版都试自带了firewalld防火墙的,firewalld去带了iptables防火墙。其原因是iptables的防火墙策略是交由内核层面的netfilter网络过滤器来处理的,而firewal...

阿里云官方博客
21分钟前
2
0
Python venv简单使用——创建虚拟环境

1.首先,我们先在项目目录下,输入: python3 -m venv xxx xxx指你要创建的文件名。因为在执行这行命令之后,就会把与Python虚拟环境有关的文件放到xxx里面。 2.然后只需要运行这个里面的act...

littlemesieV
30分钟前
0
0
spring常用配置

Spring常用配置示例Spring 是一款Java平台的开源框架,是为解决企业级应用程序开发的复杂性而创建的,通过良好的分层架构让开发人员能够专注于业务逻辑的开发。Spring框架是一个分层架...

小橙子的曼曼
32分钟前
1
0
Docker安装Jenkins

Docker安装Jenkins

吴伟祥
32分钟前
0
0
java运算符 与(&)、非(~)、或(|)、异或(^)

最近看HashMap源码,遇到了这样一段代码: 1 static final int hash(Object key) {2 int h;3 return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);4 ......

孟飞阳
42分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部