zoukankan      html  css  js  c++  java
  • lintcode166 链表倒数第n个节点

    链表倒数第n个节点 

    找到单链表倒数第n个节点,保证链表中节点的最少数量为n。

    思路:设置两个指针first,second指向head,first指针先向前走n,然后两个指针一起走,first指针走到末尾,second走到倒数第n个指针!

    代码

     1 /**
     2  * Definition of ListNode
     3  * class ListNode {
     4  * public:
     5  *     int val;
     6  *     ListNode *next;
     7  *     ListNode(int val) {
     8  *         this->val = val;
     9  *         this->next = NULL;
    10  *     }
    11  * }
    12  */
    13 
    14 
    15 class Solution {
    16 public:
    17     /*
    18      * @param head: The first node of linked list.
    19      * @param n: An integer
    20      * @return: Nth to last node of a singly linked list.
    21      */
    22     ListNode * nthToLast(ListNode * head, int n) {
    23         // write your code here
    24         if (NULL == head || n < 1) return NULL;
    25         ListNode *first = head;
    26         ListNode *second = head;
    27         while (n) {
    28             first = first->next;
    29             n--;
    30         }
    31         while (first) {
    32             first = first->next;
    33             second = second->next;
    34         }
    35         return second;
    36     }
    37 };
  • 相关阅读:
    如何仅仅修改每一页的页眉
    resize
    Linux搭建深度学习环境
    Image.open、cv2.imread
    any、all
    cookie
    any、all
    库文件
    出来混总要还的,要提醒自己提高核心竞争力
    “行百里者半九十”(现在才逐渐真正理解这些道理)
  • 原文地址:https://www.cnblogs.com/gousheng/p/7632854.html
Copyright © 2011-2022 走看看