大概用vector会上瘾,但我每次想的都比别人复杂。。。

链表中倒数第k个结点

http://www.nowcoder.com/questionTerminal/529d3ae5a407492994ad2a246518148a

/*
struct ListNode {
int val;
struct ListNode next;
ListNode(int x) :
val(x), next(NULL) {
}
};
/
class Solution {
public:
ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) {
vector<int> vec;
ListNode* a=pListHead;//备份一个头链表节点
while(pListHead){
vec.push_back(pListHead->val);
pListHead=pListHead->next;//将链表压入vector容器
}
int len=vec.size();//求出链表大小
if(k>len){
return nullptr;
}
for(int i=0;i<len-k;i++){
a=a->next;//倒数第K个链表节点
}
return a;
}
};</int>

全部评论

相关推荐

昨天 10:56
门头沟学院 Java
点赞 评论 收藏
分享
Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
06-04 09:27
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务