Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit afd770d

Browse files
committed
feat: update solutions to lc problems
1 parent d9e00c6 commit afd770d

File tree

7 files changed

+54
-8
lines changed

7 files changed

+54
-8
lines changed

‎solution/0000-0099/0081.Search in Rotated Sorted Array II/README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555

5656
<!-- 这里可写通用的实现逻辑 -->
5757

58-
二分查找
58+
**方法一:二分查找**
5959

6060
<!-- tabs:start -->
6161

‎solution/0000-0099/0083.Remove Duplicates from Sorted List/README.md‎

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
# self.val = val
5252
# self.next = next
5353
class Solution:
54-
def deleteDuplicates(self, head: ListNode) -> ListNode:
54+
def deleteDuplicates(self, head: Optional[ListNode]) -> Optional[ListNode]:
5555
cur = head
5656
while cur and cur.next:
5757
if cur.val == cur.next.val:
@@ -61,6 +61,25 @@ class Solution:
6161
return head
6262
```
6363

64+
```python
65+
# Definition for singly-linked list.
66+
# class ListNode:
67+
# def __init__(self, val=0, next=None):
68+
# self.val = val
69+
# self.next = next
70+
class Solution:
71+
def deleteDuplicates(self, head: Optional[ListNode]) -> Optional[ListNode]:
72+
dummy = ListNode(1000)
73+
cur = dummy
74+
while head:
75+
if head.val != cur.val:
76+
cur.next = head
77+
cur = cur.next
78+
head = head.next
79+
cur.next = None
80+
return dummy.next
81+
```
82+
6483
### **Java**
6584

6685
<!-- 这里可写当前语言的特殊实现逻辑 -->

‎solution/0000-0099/0083.Remove Duplicates from Sorted List/README_EN.md‎

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
# self.val = val
4444
# self.next = next
4545
class Solution:
46-
def deleteDuplicates(self, head: ListNode) -> ListNode:
46+
def deleteDuplicates(self, head: Optional[ListNode]) -> Optional[ListNode]:
4747
cur = head
4848
while cur and cur.next:
4949
if cur.val == cur.next.val:
@@ -53,6 +53,25 @@ class Solution:
5353
return head
5454
```
5555

56+
```python
57+
# Definition for singly-linked list.
58+
# class ListNode:
59+
# def __init__(self, val=0, next=None):
60+
# self.val = val
61+
# self.next = next
62+
class Solution:
63+
def deleteDuplicates(self, head: Optional[ListNode]) -> Optional[ListNode]:
64+
dummy = ListNode(1000)
65+
cur = dummy
66+
while head:
67+
if head.val != cur.val:
68+
cur.next = head
69+
cur = cur.next
70+
head = head.next
71+
cur.next = None
72+
return dummy.next
73+
```
74+
5675
### **Java**
5776

5877
```java

‎solution/0000-0099/0086.Partition List/README.md‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,12 @@
4040

4141
<!-- 这里可写通用的实现逻辑 -->
4242

43+
**方法一:模拟**
44+
4345
创建两个链表,一个存放小于 `x` 的节点,另一个存放大于等于 `x` 的节点,之后进行拼接即可。
4446

47+
时间复杂度 $O(n),空间复杂度 $O(1)$。其中 $n$ 是原链表的长度。
48+
4549
<!-- tabs:start -->
4650

4751
### **Python3**
@@ -55,7 +59,7 @@
5559
# self.val = val
5660
# self.next = next
5761
class Solution:
58-
def partition(self, head: ListNode, x: int) -> ListNode:
62+
def partition(self, head: Optional[ListNode], x: int) -> Optional[ListNode]:
5963
d1, d2 = ListNode(), ListNode()
6064
t1, t2 = d1, d2
6165
while head:

‎solution/0000-0099/0086.Partition List/README_EN.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
# self.val = val
4646
# self.next = next
4747
class Solution:
48-
def partition(self, head: ListNode, x: int) -> ListNode:
48+
def partition(self, head: Optional[ListNode], x: int) -> Optional[ListNode]:
4949
d1, d2 = ListNode(), ListNode()
5050
t1, t2 = d1, d2
5151
while head:

‎solution/0000-0099/0086.Partition List/Solution.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# self.val = val
55
# self.next = next
66
class Solution:
7-
def partition(self, head: ListNode, x: int) -> ListNode:
7+
def partition(self, head: Optional[ListNode], x: int) -> Optional[ListNode]:
88
d1, d2 = ListNode(), ListNode()
99
t1, t2 = d1, d2
1010
while head:

‎solution/0100-0199/0105.Construct Binary Tree from Preorder and Inorder Traversal/README.md‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,18 @@
4242

4343
<!-- 这里可写通用的实现逻辑 -->
4444

45-
前序序列的第一个结点 `preorder[0]` 为根节点,我们在中序序列中找到根节点的位置 i,可以将中序序列划分为左子树 `inorder[:i]` 、右子树 `inorder[i+1:]`
45+
**方法一:递归**
4646

47-
通过左右子树的区间,可以计算出左、右子树节点的个数,假设为 m、n。然后在前序节点中,从根节点往后的 m 个节点为左子树,再往后的 n 个节点为右子树。
47+
前序序列的第一个结点 $preorder[0]$ 为根节点,我们在中序序列中找到根节点的位置 $i,ドル可以将中序序列划分为左子树 $inorder[0..i]$ 、右子树 $inorder[i+1..]$。
48+
49+
通过左右子树的区间,可以计算出左、右子树节点的个数,假设为 $m$ 和 $n$。然后在前序节点中,从根节点往后的 $m$ 个节点为左子树,再往后的 $n$ 个节点为右子树。
4850

4951
递归求解即可。
5052

5153
> 前序遍历:先遍历根节点,再遍历左右子树;中序遍历:先遍历左子树,再遍历根节点,最后遍历右子树。
5254
55+
时间复杂度 $O(n),ドル空间复杂度 $O(n)$。
56+
5357
<!-- tabs:start -->
5458

5559
### **Python3**

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /