链表倒数第n个节点
找到单链表倒数第n个节点,保证链表中节点的最少数量为n。
给出链表 3->2->1->5->null和n = 2,返回倒数第二个节点的值1.
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
int count=0;
int b=0;
ListNode a=head;
while(head!=null){
count++; //找出一共有几个节点
head=head.next;
}
while(a!=null){
b++;
if(b==count-n+1){ //n为倒数第几个节点,节点总数-倒数第几个节点+1=正数第几个节点。
return a;
}
a=a.next;
}
return a;
}
}