解答
如果只用一个指针next的话 ,是不能知道到底有环造成一直循环还是链表长度很长造成的,而且循环了的话,程序没有终结态。
所以只能考虑两个指针low和fast,slow一次走一步,fast一次走两步。
如果存在环的话,当slow进入环后,fast每次追赶slow一步,所以一定会在slow一圈之内赶上。即slow==fast时,存在环
bool isExitsLoop(Node head){
Node slow = head;
Node fast = head;
while ( fast && fast.next ) {
slow = slow.next;
fast = fast.next.next;
if ( slow == fast ) break;
}
return !(fast == null || fast.next == null);
}
请问 一下,我本科就是软件工程(软件测试方向),以后也想成为软件测试工程师,目前大三即将结束,我之前是准备考研 ,也只是知道考研没有考虑具体什么方向之类的。因为软件测试是专业课 大三下才开课,我现在发现考研的学校 基本没有 软件测试方向的,都是比较热门的大数据、人工智能等研究方向。 所以 想成为软件测试工程师 是在大四时好好学习技术 然后本来毕业找工作?还是 应该考研究生(只是 我发现研究生没有研究软件测试的,也可能我没关注到) ?
这么久了终于弄明白这个问题
在卷的地方,测试要比开发还要开发,又要懂业务又要懂测试,还要懂运维,我都搞不懂现在测试到底是个什么角色了
长记性了,下次再也不错了
双指针双指针
从一个节点出发看能不能遍历到自己
双指针。经典用法
看懂了
本来觉得没思路的题,代码就那么几行。。。。
环里面还套着环满足这个结论吗