赞
踩
思路:典型得快慢指针问题,快指针与慢指针中间隔着k-2个节点,那么同时++快慢指针,当快指针指向链表结尾节点时,慢指针指向倒数第k个节点;
struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; int kthToLast(ListNode *head, int k) { ListNode *left = head, *right = head; int count = 1; while (count < k) { right = right->next; count++; } while (right->next) { left = left->next; right = right->next; } return left->val; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。