今天主要复习了双指针法,把之前用双指针解题都重新看了一遍,还有关于字符串的总结。双指针虽然在平时也写了这么多,感觉还是有很多细节没有记住。
反转字符串:
这个比较简单,、
反转链表
真是忘了,,链表是具有方向的,头为head 尾部指向none,关键就是我们要找到指针指向,并且注意要中temp接收一下cur.next。注意条件cur存在即可
环形链表找入口
定义快慢指针,让快追慢,然后分析一下这个过程慢指针在环中跑不了一圈就会被快指针追上,然后我们就根据函数关系发现
所以我们怎么找入口呢,当然就想到把慢指针拉回head,然后让快指针走z或者多个z去追,相遇的点即为入口!
三数之和
需要考虑的细节真的好多,num[i]在自己遍历,left 和right 在根据三者之和逐渐调整
细节1:要判断是不是排序后最小的数都大于0,如果是直接输出空结果
细节2:要跳过相同的值,因为我们所求结果不许重复
细节3:考虑特殊情况,当第一组就为0时,指针如何前进!