做窗帘店的网站,宁波网络推广优化公司,网站建设服务协议 百度,全国装修公司大概多少家题目#xff1a; 输入一个链表#xff0c;输出该链表中倒数第k哥结点。为了符合大多数人的习惯#xff0c;本题从1开始计数#xff0c;即链表的尾结点是倒数第1个结点。例如一个链表有6个结点#xff0c;从头结点开始它们的值依次是1#xff0c;2#xff0c;3#xff0…题目 输入一个链表输出该链表中倒数第k哥结点。为了符合大多数人的习惯本题从1开始计数即链表的尾结点是倒数第1个结点。例如一个链表有6个结点从头结点开始它们的值依次是123456。这个链表的倒数第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(k0||headnull) { return -1; } while(k!0) { k--; p p.next; if(pnull) { 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)); } }