面试题:返回倒数第k个节点(简单)
这一题是很简单的当做试手题
题目
题目分析
1,这里的思路是利用快慢指针来进行解决
2,这里如果我们需要的是,倒数第2个节点的情况下,我们可以让快指针先移动两次
3,之后再同步进行移动,当快指针指向null的时候,说明慢指针此时指向需要的数值
4,这里需要注意的是,最后的返回值是数值->val,不是地址
题目代码
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ typedef struct ListNode ListNode; int kthToLast(struct ListNode* head, int k) { ListNode* FAST=head; ListNode* SLOW=head; while(k--) { FAST=FAST->next; } while(FAST) { SLOW=SLOW->next; FAST=FAST->next; } return SLOW->val; }
面试题:返回倒数第k个节点(简单)
最新推荐文章于 2024-07-13 12:00:36 发布