给定一个非空单链表,返回其倒数第k个节点。 要求:不改变和新增任何节点。
list:非空单链表头节点 k: 给定整数,且k>=1 and k<=len(list)
list的倒数第k个节点
list=list(1,2,3,4,5) k=2
list(4,5)
import java.util.*; public class Main { public LinkNode<Integer> solution(LinkNode<Integer> list, int k) { //输入合法性校验 if (list == null || k < 1) { return null; } LinkNode<Integer> cur = list; int total = 0; while (cur != null) { total++; cur = cur.next; } int skip = total - k; cur = list; for (int i = 0; i < skip; i++) { cur = cur.next; } return cur; } }