数据结构—线性结构—链表:(链表中倒数第n个节点)
一、题目:找到单链表倒数第n个节点,保证链表中节点的最少数量为n。
样例:给出链表 3->2->1->5->null和n = 2,返回倒数第二个节点的值1.
二、分析:
需要注意的点:
1.返回值类型为ListNode类型;
三、代码:
/**
* Definition for ListNode.
*/
public class ListNode {
int val;
ListNode next;
ListNode(int val) {
this.val = val;
this.next = null;
}
}
public class Solution {
/*
* @param head: The first node of linked list.
* @param n: An integer
* @return: Nth to last node of a singly linked list.
*/
public ListNode nthToLast(ListNode head, int n) {
// write your code here
ListNode probeNode = new ListNode(0);
ListNode nthNode = new ListNode(0);
int i = 0;
probeNode = head;
for(i = 0 ;i < n; i++){
probeNode = probeNode.next;
}
nthNode = head;
while(probeNode != null){
probeNode = probeNode.next;
nthNode = nthNode.next;
}
return nthNode;
}
}