Skip to content

Commit 0e7c60b

Browse files
Update
1 parent 2ad7ce6 commit 0e7c60b

14 files changed

+391
-7
lines changed

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,12 @@ LeetCode 最强题解(持续更新中):
1414
|[0035.搜索插入位置](https://github.com/youngyangyang04/leetcode/blob/master/problems/0035.搜索插入位置.md) |数组 | **暴力** **二分**|
1515
|[0053.最大子序和](https://github.com/youngyangyang04/leetcode/blob/master/problems/0053.最大子序和.md) |数组 |**暴力** **贪心** 动态规划 分治|
1616
|[0059.螺旋矩阵II](https://github.com/youngyangyang04/leetcode/blob/master/problems/0059.螺旋矩阵II.md) |数组 |**模拟**|
17+
|[0083.删除排序链表中的重复元素](https://github.com/youngyangyang04/leetcode/blob/master/problems/0083.删除排序链表中的重复元素.md) |链表 |**模拟**|
18+
|[0203.移除链表元素](https://github.com/youngyangyang04/leetcode/blob/master/problems/0203.移除链表元素.md) |链表 |**模拟** **虚拟头结点**|
19+
|[0206.翻转链表](https://github.com/youngyangyang04/leetcode/blob/master/problems/0206.翻转链表.md) |链表 | **模拟** **递归**|
1720
|[0209.长度最小的子数组](https://github.com/youngyangyang04/leetcode/blob/master/problems/0209.长度最小的子数组.md) |数组 | **暴力** **滑动窗口**|
18-
|[0237.删除链表中的节点](https://github.com/youngyangyang04/leetcode/blob/master/problems/0237.删除链表中的节点.md) |链表 | **暴力**|
21+
|[0237.删除链表中的节点](https://github.com/youngyangyang04/leetcode/blob/master/problems/0237.删除链表中的节点.md) |链表 | **原链表移除** **添加虚拟节点** 递归|
1922
|[0383.赎金信](https://github.com/youngyangyang04/leetcode/blob/master/problems/0383.赎金信.md) |数组 |**暴力** **字典计数**|
23+
|[0707.设计链表](https://github.com/youngyangyang04/leetcode/blob/master/problems/0707.设计链表.md) |链表 |**模拟**|
2024

2125

pics/203_链表删除元素1.png

54.2 KB
Loading

pics/203_链表删除元素2.png

21.5 KB
Loading

pics/203_链表删除元素3.png

34.9 KB
Loading

pics/203_链表删除元素4.png

18.1 KB
Loading

pics/203_链表删除元素5.png

14.9 KB
Loading

pics/203_链表删除元素6.png

50.8 KB
Loading

pics/206_反转链表.png

26.1 KB
Loading

problems/0035.搜索插入位置.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
## 题目地址
1+
# 题目地址
22

33
https://leetcode-cn.com/problems/search-insert-position/
44

5-
## 思路
5+
# 思路
66

77
这道题目其实是一道很简单的题,但是为什么通过率相对来说并不高呢,我理解是大家对 边界处理的判断有所失误,导致的。
88

@@ -22,7 +22,7 @@ https://leetcode-cn.com/problems/search-insert-position/
2222
这里我给出了一种简洁的暴力解法,和两种二分查找的解法
2323

2424

25-
## 解法:暴力枚举
25+
# 解法:暴力枚举
2626

2727
```
2828
class Solution {
@@ -49,7 +49,7 @@ public:
4949
时间复杂度:O(1)
5050

5151

52-
## 二分法
52+
# 二分法
5353

5454
既然暴力解法的时间复杂度是On,我们就要尝试一下使用二分查找法。
5555

@@ -73,7 +73,7 @@ public:
7373

7474
我们要在二分查找的过程中,保持不变量,这也就是**循环不变量** (感兴趣的同学可以查一查)
7575

76-
### 二分法第一种写法
76+
## 二分法第一种写法
7777

7878
以这道题目来举例,以下的代码中我们定义 target 是在一个在左闭右闭的区间里,也就是[left, right]
7979

@@ -111,7 +111,7 @@ public:
111111
效率如下:
112112
<img src='../pics/35_搜索插入位置2.png' width=600> </img></div>
113113

114-
### 二分法第二种写法
114+
## 二分法第二种写法
115115

116116
如果说我们定义 target 是在一个在左闭右开的区间里,也就是[left, right)
117117

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
2+
## 题目地址
3+
4+
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/
5+
6+
## 思路
7+
8+
这道题目没有必要设置虚拟节点,因为不会删除头结点
9+
10+
## 代码
11+
12+
```
13+
/**
14+
* Definition for singly-linked list.
15+
* struct ListNode {
16+
* int val;
17+
* ListNode *next;
18+
* ListNode(int x) : val(x), next(NULL) {}
19+
* };
20+
*/
21+
class Solution {
22+
public:
23+
ListNode* deleteDuplicates(ListNode* head) {
24+
ListNode* p = head;
25+
while (p != NULL && p->next!= NULL) {
26+
if (p->val == p->next->val) {
27+
ListNode* tmp = p->next;
28+
p->next = p->next->next;
29+
delete tmp;
30+
} else {
31+
p = p->next;
32+
}
33+
}
34+
return head;
35+
}
36+
};
37+
```
38+

0 commit comments

Comments
 (0)