/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
//class Solution {
//public:
// ListNode* getKthFromEnd(ListNode* head, int k) {
// if (head != NULL && head->next == NULL)
// return head;
// ListNode* cur = head;
// ListNode* node = new ListNode(NULL);
// stack<ListNode*> s;
// int ans = 0, count = 0;;
// while (cur != NULL) {
// s.push(cur);
// cur = cur->next;
// count++;
// }
// if (count == k)
// return head;
// while (ans <= k) {
// cur = s.top();
// s.pop();
// node = cur;
// node = node->next;
// ans++;
// }
// return node;
// }
//};
//直接两个循环;
/*
* Definition for singly - linked list.
* struct ListNode {
*int val;
*ListNode* next;
*ListNode(int x) : val(x), next(NULL) {}
*
};
*/
//class Solution {
//public:
// ListNode* getKthFromEnd(ListNode* head, int k) {
// ListNode* node = NULL;
// int n = 0;
// for (node = head; node; node = node->next) {
// n++;
// }
// for (node = head; n > k; n--) {
// node = node->next;
// }
// return node;
// }
//};