您的位置:首页 > 其它

LintCode 链表倒数第n个节点

2017-03-21 22:43 447 查看
题目描述:

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

样例

给出链表 3->2->1->5->null和n = 2,返回倒数第二个节点的值1.

ac代码:

/**
* Definition of ListNode
* class ListNode {
* public:
*     int val;
*     ListNode *next;
*     ListNode(int val) {
*         this->val = val;
*         this->next = NULL;
*     }
* }
*/
class Solution {
public:
/**
* @param head: The first node of linked list.
* @param n: An integer.
* @return: Nth to last node of a singly linked list.
*/
ListNode *nthToLast(ListNode *head, int n) {
// write your code here
int sum=0;
ListNode *r;
r=head;
while(r!=NULL)
{
sum++;
r=r->next;
}
sum=sum-n+1;
r=head;
while(sum>1)
{
r=r->next;
sum--;
}
return r;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  链表