百度一面,我十万个不理解
一面最后是一个算法,两个链表,确认链表是否相交
#2022春招##百度##面试题目##面经##实习##后端开发#
我说,只要有一个节点相同是不是就是相交,他说是的,好既然节点相同那么链表最后应该会收束到一起也就是直接比最后一个节点是否相同,如果相同则链表相交
我按照这个思路写了,他又说不对不对,相同是指链表值相同而不是地址值相同,那这个问题就变成了两个链表有没有相同的值,我就用set来做,
他说你为什么改了整个代码了,
我说因为条件变了,
他说你只需要把判断两个节点相同的条件从node1==node2变成 node1.v==node2.v就行了呀
我说现在是值相同不是节点相同那也就意味着相交链表不一定会收束,更多的可能是交叉
他说你确定是交叉
我说我确定,不仅是交叉 还有交错
他说你这个不对啊我只是改变了一个条件
我说你改变的是核心条件,节点相同则节点的后继节点也相同,这必然导致收束,值相同则后继节点的值不一定相同,
……
就这
……
说真的挺难受的,我面对的似乎是一个完全不懂链表的人,
已共享,佛了,人生无常