02.07 链表相交#
力扣链接: https://leetcode.cn/problems/intersection-of-two-linked-lists-lcci/
题目: 给你两个链表,让你返回两个链表的交点,如果相交则输出,否则返回 Nil
过程#
一开始以为是个暴力的做法
我们遍历链表 A,对于每个节点都额外走一遍链表 B. 当我们 Value 相等的时候 我们额外判断一下 两个节点的 Next 是否相等
如果相等则说明相交
这个思路有很大的问题
- 整个时间复杂度过高
- 代码很复杂 ,这个 dummy 我还是根据习惯写出来的
正确思路#
我们考虑 PA 和 PB 两个指针, 当我们 PA 遍历完成之后尝试 从 headB 进行遍历
保证两个指针都走 M+N 个步长, 那么如果他们相交的话,就一定会存在相等的情况
142.环形链表II#
见 环形链表专题
242.有效的字母异位词#
力扣链接:https://leetcode.cn/problems/valid-anagram/
题目:给你两个字符串,如果这两个字符串的每个字符出现的次数都一样,返回true
思路#
因为只有 26个字母 使用标记数组进行统计,然后在进行删除
349. 两个数组的交集#
力扣链接:https://leetcode.cn/problems/intersection-of-two-arrays/
题目:求两个数组的交集
思路#
- 同样使用 一个 Map 进行统计
- 不过需要注意的是,对于第一个数组需要判断是否为0 防止重复计算,对于第二个数组需要判断不等于0 防止重复计算
Code#
第202题. 快乐数#
力扣链接: https://leetcode.cn/problems/happy-number/
题目: 重复计算:数字各个位 的 平方 的 和 ,直到和为1,则返回true,如果不可能为1,返回false
思路#
模拟即可
code#
作者 Marvel-L
帮助改进本文
评论