代码随想录第9天 | 字符串总结、双指针法总结

字符串总结

  1. 双指针法:反转字符串、删除元素。
  2. 反转系列:反转系列上有很多不同的玩法,可以在for循环上下文章,也可以整体反转再局部反转。
  3. KMP:当出现字符串不匹配时,可以知道一部分之前已经匹配的文本内容,可以利用这些信息避免从头再去做匹配了。

双指针法总结

  1. 数组篇:原地移除数组上的元素,用快慢指针。
  2. 字符串篇
    反转字符串:定义两个指针(也可以说是索引下标),一个从字符串前面,一个从字符串后面,两个指针同时向中间移动,并交换元素;
    替换空格:首先扩充数组到每个空格被替换后的大小,然后双指针从后向前替换空格。
    删除冗余空格:仍然只用快慢指针,同时要注意单词间保留一个空格以及字符串前后空格的判断。
  3. 链表篇
    反转链表:利用双指针,需要改变链表的next指针的指向,直接将链表反转 ,而不用重新定义一个新的链表。
    环形链表:使用快慢指针(双指针法),分别定义 fast 和 slow指针,从头结点出发,fast指针每次移动两个节点,slow指针每次移动一个节点,如果 fast 和 slow指针在途中相遇 ,说明这个链表有环。
  4. N数之和:使用了哈希法解决了两数之和,但是哈希法并不使用于三数之和!多数之和用双指针才是最合适的,通过前后两个指针不算向中间逼近,在一个for循环下完成两个for循环的工作,但需要注意去重的操作!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值