链表中的第k个

struct ListNode{
  int val;
  struct ListNode *next;
  ListNode(int x):
    val(x), next(NULL){
  }
}

class Solution{
public:
  ListNode* FindKthToTail(ListNode* PListHead, unsigned int k){
    if(NULL==pListHead || k == 0)
      return NULL;
    ListNode *p = pListHead;
    int i = 1;
    while(i++<k){
      p = p -> next;
    }
    ListNode *node = pListHead;
    while(p->next){
      node = node->next;
      p = p->next;
    }
    return node;
  }
}

猜你喜欢

转载自blog.csdn.net/sinat_34080511/article/details/82699087