作者:虎仔球妈_459 | 来源:互联网 | 2023-10-11 11:40
有一个单链表,给定头结点,和链表中的s指向的具体节点。面试官说在时间复杂度为1的情况下,删除该节点。给我一分钟,我随口说了一句,单链表,删除该节点,需要找到它的前驱节点。面试官立即回复说:
有一个单链表,给定头结点,和链表中的s指向的具体节点。面试官说在时间复杂度为1的情况下,删除该节点。
给我一分钟,我随口说了一句,单链表,删除该节点,需要找到它的前驱节点。面试官立即回复说:“对就是要找到前驱节点”。
结果我一直在想要找到前驱节点,我发现根本找到前驱节点,但是又不敢否定面试官的肯定。时间到了,我说我没有想出来。
回来后,我脑袋里还在想,发现确实是在O(1)情况下是找不到前驱节点,后面发现,如果我把s后面一个赋值给s然后删除s的后面一个节点也达到了这个目的。
这才意识到,面试一直在把我往死胡同里带。原来的目的就是固话我的思想。下次要注意了,也给大家提醒,发现不对时,应该马上转换思维方式。