“常用公式”在线计算,“设计手册”在线查询
链表结点定义如下:struct ListNode{int m_nKey;ListNode* m_pNext;};
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 支持支持 反对反对

共 1 个关于本帖的回复 最后回复于 2013-8-16 11:09

沙发
秦静静 新来的 发表于 2013-8-16 11:09:06 | 只看该作者
研发埠培训中心
Two ways. 1:record the length of the linked list, then go n-k steps. 2: use two cursors.Time complexities are exactly the same.Node * lastK(Node * head, int k) {  if (k<0) error(“k < 0”);  Node *p=head, *pk=head;  for (;k>0;k--) {    if (pk->next!=NULL) pk =pk->next;    else return NULL;  }  while (pk->next!=NULL) {    p=p->next, pk=pk->next;  }  return p;}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注我们

360网站安全检测平台