leetcode:Nth to Last Node in List

Posted 自朗活

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode:Nth to Last Node in List相关的知识,希望对你有一定的参考价值。

1、

Find the nth to last element of a singly linked list. 

The minimum number of nodes in list is n.

Given a List  3->2->1->5->null and n = 2, return node  whose value is 1.

2、

  1、由于链表没有得到长度的值,只能通过一个一个移来进行判断

  2、先移n位,原来的再移length-n位既可以

3、代码:

  

 ListNode nthToLast(ListNode head, int n) {
            if (head == null || n < 1) {
                return null;
            }
        // 3->2->1->5->7->9->9->null,n=2,  1
            /**
             * 1、7大小,最后两位
             * 2、先已两位,然后停止
             * 3、一起再移余下的位数,那么原来的就变成倒数2为
             */
            ListNode p1 = head;
            ListNode p2 = head;
            for (int j = 0; j < n - 1; ++j) {
                if (p2 == null) {
                    return null;
                }
                p2 = p2.next;
            }
            while (p2.next != null) {   
                p1 = p1.next;   
                p2 = p2.next;
            }
            return p1;
        }

 

以上是关于leetcode:Nth to Last Node in List的主要内容,如果未能解决你的问题,请参考以下文章

Nth to Last Node in List

lintcode-easy-Nth to Last Node in List Show result

[LeetCode]-DataBase-Nth Highest Salary

[LeetCode] Nth Digit

LeetCode——Nth Highest Salary

Leetcode: Nth Digit