剑指offer--链表中倒数第k个节点

/**
 * 输入一个链表,输出该链表中倒数第k个结点。
 */
package javabasic.nowcoder;

public class Main18 {

	public ListNode18 FindKthToTail(ListNode18 head,int k) {
		ListNode18 pre = head, last = head;
		if(k<=0 || head == null) {
			return null;
		}
		for(int i=0; i<k; i++) {
			if(pre.next!=null) {
				pre = pre.next;
			}else {
				return null;
			}
		}
		if(pre==null) {
			return null;
		}
		while(pre.next!=null) {
			last = last.next;
			pre = pre.next;
		}
		return last;
    }
}
class ListNode18 {
    int val;
    ListNode18 next = null;

    ListNode18(int val) {
        this.val = val;
    }
}

  

猜你喜欢

转载自www.cnblogs.com/zhaohuan1996/p/8951147.html