首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
梦会绽放
获赞
95
粉丝
1
关注
5
看过 TA
176
男
陕西科技大学
2022
Java
IP属地:江苏
人若无名,专心练剑
私信
关注
拉黑
举报
举报
确定要拉黑梦会绽放吗?
发布(17)
刷题
梦会绽放
2021-12-31 21:01
Java
题解 | #判断链表中是否有环#
算法思路:考虑使用快慢双指针。慢指针每次走一步,快指针每次走两步,如果链表有环,快、慢指针一定会相遇指向同一个节点(可理解为环型跑道速度快的一定可追上速度慢的),则返回true;如果链表无环,遍历完整个链表,返回false。 C语言实现: bool hasCycle(struct ListNode* head ) { struct ListNode *p,*q; p=q=head; while(q&&q->next){ p=p->next;//慢指针p每次走一步 q=q->next; q=q->next;//快指针q走两步 if(q&...
0
点赞
评论
收藏
转发
梦会绽放
2021-12-30 20:08
Java
题解 | #反转链表#
思路:充分利用数组的特点。 注意到题中链表长度 0<=n<=100和链表节点的值满足|val|<=100的特点, 优先考虑建立一个长度为201的计数数组arr[],初始化为0,以val值作为数组下标,arr[val]表示值为val的节点的个数,对链表进行一次遍历, 遍历到值为val的节点,则arr[val+100]++, 这里是val+100 而不是 val 是由于 val 还可为负整数,解决办法是采取统一加一个偏置值100, 那么所有的数都变为非负整数了。 设置一前一后两个指针p,q,p指向第一次出现的节点, q从p的下一个节点开始遍历,寻找下一个不同值的节点,找到后...
0
点赞
评论
收藏
转发
1
2
工具箱
TA的圈子
暂未加入圈子
TA的圈子
TA的笔记
暂无笔记
TA的笔记
登录
0
天
已登录
0
天
连续登录
0
人
今日访客
牛客网
牛客企业服务