文章目录
做题注意事项
1.注意空字符串,以及各种极端情况。
2.异或运算有奇效。
3.小心数组的开始和结束条件。
static bool _foo = ios::sync_with_stdio(false);
题目分类
1.位运算
- LeetCode 136. Single Number–2个数直接异或–Java,C++,Python解法
- LeetCode 137. Single Number II–三次异或消除相同的数–C++,Python解法
seen_once = ~seen_twice & (seen_once ^ num)
seen_twice = ~seen_once & (seen_twice ^ num)
2.字符串题型
具有最多两个不同字符的最长子串的长度
- LeetCode 159. Longest Substring with At Most Two Distinct Characters --Java,C++,Python解法
- LeetCode 771. Jewels and Stones–Java和Python解法–简单
- LeetCode 438. Find All Anagrams in a String–字符串-滑动窗口–C++,Python解法
3.TopK 问题–最大堆/最小堆
- LeetCode 215. Kth Largest Element in an Array–数字第K大的元素–最大堆或优先队列–C++,Python解法
- LeetCode 973. K Closest Points to Origin–TopK 问题–最小堆–C++,Python解法
import heapq
l = heapq.nlargest(2, [3, 2, 1, 5, 6, 4])
4.链表
- LeetCode 206 Reverse Linked List–反转链表–迭代与递归解法–递归使用一个临时变量,迭代使用3个
- LeetCode 21. Merge Two Sorted Lists–合并2个有序列表–python递归,迭代解法
- LeetCode 23. Merge k Sorted Lists–Python解法–优先队列,分治法
- LeetCode 141. Linked List Cycle–百度面试编程题–C++,Python解法
判断链表是否成环,使用快慢指针。 - LeetCode 142. Linked List Cycle II–单向链表成环的起点–C++,Python解法
求成环起点 - LeetCode 2. Add Two Numbers–C++,Python解法
- LeetCode 445. Add Two Numbers II–字节跳动面试算法题–C++,Python解法
- LeetCode 369. Plus One Linked List–链表–C++,Python解法