一、问题
10年积累的网站设计、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有松滋免费网站建设让你可以放心的选择与我们合作。查找链表的中间节点
查找链表的倒数第k个结点
二、解决思路:快慢指针
找中间节点:快指针走两步,慢指针走一步
找倒数第k个结点:快指针走k步或k-1步,然后慢指针再开始走
三、代码实现(c语言)
1.找中间结点
sListNode* FindMidNode(sListNode* pHead) { sListNode* slow = pHead, *fast = pHead; while(fast!=NULL && fast->next!=NULL) { slow = slow->next; fast = fast->next->next; } return slow;
2.找倒数第k个结点
sListNode* FindKTailNode(sListNode* pHead,int k) { assert(k >= 0); sListNode* fast = pHead, *slow = pHead; while(--k) //快指针走k-1步 { if(fast->next == NULL) return NULL; fast = fast->next; } while(fast->next != NULL) { slow = slow->next; fast = fast->next; } return slow; }
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
分享题目:找链表的中间结点和倒数第k个结点(链表笔试题面试题)-创新互联
当前网址:https://www.cdcxhl.com/article44/dgdjhe.html
成都网站建设公司_创新互联,为您提供域名注册、软件开发、云服务器、用户体验、虚拟主机、小程序开发
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联