春招手撕题总结(更新ing)

1.判断链表是否有环?(剑指offer)

思路: 快慢指针,快指针每次走两步,慢指针每次走一步,若两指针会相遇则有 环。

2.找出1中环的入口?(剑指offer)

思路:快慢指针同上,相遇后快指针回到头结点,速度变为1,再次相遇的地方就是环的入口。

3.用两个栈实现队列?((剑指offer))
4.反转链表?

思路:头节点为空则返回空,否则定义pre,cur,p,当前节点cur不为空则令p=cur->next; cur->next=pre;
pre=cur; cur=p;

5.TopK问题
7.LeetCode 424,替换后的最长重复字符
8.青蛙跳台阶 Leetcode70
9.第三大的数 Leetcode414
10.分解质因数
11. 力扣698 给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。
12. 给定一个01序列,0101110011,以及一个数字k,可以将最多k个0转变为1,问转变之后最长的1的连续序列的长度
14. (剑指offer23)两个链表的交点

思路:若A,B有一个为空返回空,否则设pa,pb分别指向A,B的头结点,然后判断A,B是否指向同一个节点,若为一个节点返回pa否则判断A是否到达表尾,到表尾后则令pa=B的头结点继续遍历,pb同理。若相交最后会到达交点,否则返回空。

15.有效括号序列

思路
将括号序列转化为字符数组保存,依次遍历数组,若为左括号则入栈,若为右括号判断栈是否为空,为空不合法,不为空取出栈顶元素判断是否匹配,不匹配不合法,全部遍历完后判断栈内是否为空,不为空不合法。

16.最长回文子串

思路:中间扩散法
从第一个字符开始对选择的字符左右两个相邻的字符进行比较,如果一样right++,left–,直到不一样,用right-left+1求出长度最后比较,需要注意的是可能有奇数长度和偶数长度两种,如aba于abba都是,所以在判断之前首先从当前位置开始比较右边的与当前位置是否一致如果一致right++下次比较的位置从右边与当前位置不一致的地方开始。同时注意如果剩余的字符串长度小于已知最大长度的一半可以不再比较。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Z小脏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值