24:
a:一个是要分析好四个节点的关系,因为反转两个节点还是需要连接前面和后面两个节点,所以开头也要处理好。
b:可以用递归,因为把后面当作一个节点,前面也当作一个节点,所以就是可以不断递归
19:
a:删除节点就是覆盖掉原节点,注意还要删除掉。
b:倒数2第几个节点可以直接先算出长度,然后再删除节点。
c:或者双指针,fast先移动n个节点,然后再slow移动,
02.07
a:直接考虑问题,先算出两条链表的长度,然后再不断移动。
B: 或者用unordered_set.记录每个Listnote*,然后用count(n)来看是不是有重复。
142
a: 先判断是不是有循环,可以直接用unorderde_set来记录,但是要注意链表不可以到null->next;
所以,要多多判断。
B;或者也用双指针,一个fast和一个slow,一个移动一位,一个一次移动两个节点。然后因为fast 一直是slow的俩备。所以如果有环fast就一定会等于slow,这样就可以判断是不是又循环。
然后要找到初节点