1 数组
- 支持动态扩容的数组
c++中vector是支持动态扩容的数组,可以进行增删改操作
- 实现两个有序数组合并为一个有序数组
2 链表
- 链表反转
- 两个有序链表合并
求链表的中间结点
class Solution {
public:
ListNode* middleNode(ListNode* head) {
int count = 0;
ListNode *p1 = head, *p2 = head;
while(p1)
{
p1 = p1->next;
count++;
}
count = count / 2;
while(count)
{
p2 = p2->next;
count--;
}
return p2;}
};
3.LEETCODE练习题
求众数:https://leetcode-cn.com/problems/majority-element/
求缺失的第一个正数:https://leetcode-cn.com/problems/first-missing-positive/
环形链表I:https://leetcode-cn.com/problems/linked-list-cycle/
合并k个排序链表:https://leetcode-cn.com/problems/merge-k-sorted-lists/