实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值
程序员文章站
2022-04-08 16:50:27
...
返回链表的第K个节点的值
面试题02-02
思路:如果是数组,可以直接返回length-k+1节点的值,但是链表不知道长度,所以先定义一个新节点p,让p先往前走k步,然后再让p和头结点head同时走到表尾。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
int kthToLast(struct ListNode* head, int k){
struct ListNode *p=head;
while(k--){
p=p->next;
}
while(p){
p=p->next;
head=head->next;
}
return head->val;
}
上一篇: c 语言链表的另一种实现
下一篇: 短信群发业务起死回生 企业短信需求增大