题目描述
输入一个链表,输出该链表中倒数第k个结点。
一、方法一
一、分析
快慢(双)指针
二、代码
public ListNode FindKthToTail(ListNode head,int k) { //5,{1,2,3,4,5} ListNode p, q; p = q = head; int i = 0; for (; p != null; i++) { if (i >= k) q = q.next; p = p.next; } return i < k ? null : q; }
二、方法二
一、分析
简单粗暴,目的是找的倒数第k个对应的顺数是第几个
二、代码
public static ListNode FindKthToTail(ListNode head,int k) { ListNode node = head; int count=0; if(head == null||k<=0) { return null; } while(head!=null) { head = head.next; count++; } if(k>count) { return null; } for(int i = 0;i<count-k;i++) { node = node.next; } return node; }