From 4254bec2855a500c2cfba74879c0930e7817b982 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=BF=97=E6=99=A8?= Date: Mon, 25 Jul 2022 14:26:18 +0800 Subject: [PATCH] fix img link --- .../1.cpp/100.exercises/solution.md" | 6 +++--- .../1.cpp/101.exercises/solution.md" | 4 ++-- .../1.cpp/102.exercises/solution.md" | 2 +- .../1.cpp/103.exercises/solution.md" | 4 ++-- .../1.cpp/104.exercises/solution.md" | 2 +- .../1.cpp/105.exercises/solution.md" | 2 +- .../1.cpp/110.exercises/solution.md" | 6 +++--- .../1.cpp/111.exercises/solution.md" | 6 +++--- .../1.cpp/114.exercises/solution.md" | 8 ++++---- .../1.cpp/123.exercises/solution.md" | 2 +- .../1.cpp/126.exercises/solution.md" | 4 ++-- .../1.cpp/134.exercises/solution.md" | 4 ++-- .../1.cpp/135.exercises/solution.md" | 2 +- .../1.cpp/40.exercises/solution.md" | 2 +- .../1.cpp/78.exercises/solution.md" | 2 +- .../1.cpp/80.exercises/solution.md" | 2 +- .../1.cpp/82.exercises/solution.md" | 2 +- .../1.cpp/86.exercises/solution.md" | 2 +- .../2.java/29.exercises/solution.md" | 2 +- .../2.java/31.exercises/solution.md" | 2 +- .../2.java/33.exercises/solution.md" | 2 +- .../2.java/37.exercises/solution.md" | 2 +- .../2.java/51.exercises/solution.md" | 6 +++--- .../2.java/52.exercises/solution.md" | 4 ++-- .../2.java/53.exercises/solution.md" | 2 +- .../2.java/54.exercises/solution.md" | 4 ++-- .../2.java/55.exercises/solution.md" | 2 +- .../2.java/56.exercises/solution.md" | 2 +- .../2.java/61.exercises/solution.md" | 6 +++--- .../2.java/62.exercises/solution.md" | 6 +++--- .../2.java/73.exercises/solution.md" | 2 +- .../2.java/76.exercises/solution.md" | 4 ++-- .../2.java/84.exercises/solution.md" | 4 ++-- .../2.java/85.exercises/solution.md" | 2 +- .../3.python/29.exercises/solution.md" | 2 +- .../3.python/31.exercises/solution.md" | 2 +- .../3.python/33.exercises/solution.md" | 2 +- .../3.python/37.exercises/solution.md" | 2 +- .../3.python/51.exercises/solution.md" | 6 +++--- .../3.python/52.exercises/solution.md" | 4 ++-- .../3.python/53.exercises/solution.md" | 2 +- .../3.python/54.exercises/solution.md" | 4 ++-- .../3.python/55.exercises/solution.md" | 2 +- .../3.python/56.exercises/solution.md" | 2 +- .../3.python/61.exercises/solution.md" | 6 +++--- .../3.python/62.exercises/solution.md" | 6 +++--- .../3.python/65.exercises/solution.md" | 8 ++++---- .../3.python/74.exercises/solution.md" | 2 +- .../3.python/77.exercises/solution.md" | 4 ++-- .../3.python/85.exercises/solution.md" | 4 ++-- .../1.cpp/100.exercises/solution.md" | 4 ++-- .../1.cpp/101.exercises/solution.md" | 2 +- .../1.cpp/103.exercises/solution.md" | 6 +++--- .../1.cpp/106.exercises/solution.md" | 6 +++--- .../1.cpp/108.exercises/solution.md" | 6 +++--- .../1.cpp/109.exercises/solution.md" | 4 ++-- .../1.cpp/111.exercises/solution.md" | 2 +- .../1.cpp/112.exercises/solution.md" | 4 ++-- .../1.cpp/120.exercises/solution.md" | 2 +- .../1.cpp/125.exercises/solution.md" | 2 +- .../1.cpp/29.exercises/solution.md" | 2 +- .../1.cpp/31.exercises/solution.md" | 2 +- .../1.cpp/32.exercises/solution.md" | 2 +- .../1.cpp/33.exercises/solution.md" | 2 +- .../1.cpp/35.exercises/solution.md" | 2 +- .../1.cpp/38.exercises/solution.md" | 2 +- .../1.cpp/39.exercises/solution.md" | 2 +- .../1.cpp/4.exercises/solution.md" | 2 +- .../1.cpp/42.exercises/solution.md" | 2 +- .../1.cpp/43.exercises/solution.md" | 2 +- .../1.cpp/49.exercises/solution.md" | 2 +- .../1.cpp/50.exercises/solution.md" | 2 +- .../1.cpp/56.exercises/solution.md" | 2 +- .../1.cpp/59.exercises/solution.md" | 2 +- .../1.cpp/62.exercises/solution.md" | 2 +- .../1.cpp/65.exercises/solution.md" | 2 +- .../1.cpp/66.exercises/solution.md" | 2 +- .../1.cpp/67.exercises/solution.md" | 2 +- .../1.cpp/72.exercises/solution.md" | 2 +- .../1.cpp/78.exercises/solution.md" | 2 +- .../1.cpp/79.exercises/solution.md" | 4 ++-- .../1.cpp/80.exercises/solution.md" | 2 +- .../1.cpp/83.exercises/solution.md" | 2 +- .../1.cpp/84.exercises/solution.md" | 2 +- .../1.cpp/86.exercises/solution.md" | 6 +++--- .../1.cpp/87.exercises/solution.md" | 2 +- .../1.cpp/90.exercises/solution.md" | 2 +- .../1.cpp/94.exercises/solution.md" | 4 ++-- .../1.cpp/95.exercises/solution.md" | 2 +- .../1.cpp/96.exercises/solution.md" | 2 +- .../1.cpp/97.exercises/solution.md" | 2 +- .../2.java/10.exercises/solution.md" | 2 +- .../2.java/102.exercises/solution.md" | 2 +- .../2.java/12.exercises/solution.md" | 2 +- .../2.java/15.exercises/solution.md" | 2 +- .../2.java/16.exercises/solution.md" | 2 +- .../2.java/19.exercises/solution.md" | 2 +- .../2.java/20.exercises/solution.md" | 2 +- .../2.java/26.exercises/solution.md" | 2 +- .../2.java/27.exercises/solution.md" | 2 +- .../2.java/33.exercises/solution.md" | 2 +- .../2.java/36.exercises/solution.md" | 2 +- .../2.java/39.exercises/solution.md" | 2 +- .../2.java/42.exercises/solution.md" | 2 +- .../2.java/43.exercises/solution.md" | 2 +- .../2.java/44.exercises/solution.md" | 2 +- .../2.java/49.exercises/solution.md" | 2 +- .../2.java/55.exercises/solution.md" | 2 +- .../2.java/56.exercises/solution.md" | 4 ++-- .../2.java/57.exercises/solution.md" | 2 +- .../2.java/6.exercises/solution.md" | 2 +- .../2.java/60.exercises/solution.md" | 2 +- .../2.java/61.exercises/solution.md" | 2 +- .../2.java/63.exercises/solution.md" | 6 +++--- .../2.java/64.exercises/solution.md" | 2 +- .../2.java/67.exercises/solution.md" | 2 +- .../2.java/71.exercises/solution.md" | 4 ++-- .../2.java/72.exercises/solution.md" | 2 +- .../2.java/73.exercises/solution.md" | 2 +- .../2.java/74.exercises/solution.md" | 2 +- .../2.java/77.exercises/solution.md" | 4 ++-- .../2.java/78.exercises/solution.md" | 2 +- .../2.java/8.exercises/solution.md" | 2 +- .../2.java/80.exercises/solution.md" | 6 +++--- .../2.java/83.exercises/solution.md" | 6 +++--- .../2.java/85.exercises/solution.md" | 6 +++--- .../2.java/86.exercises/solution.md" | 4 ++-- .../2.java/88.exercises/solution.md" | 2 +- .../2.java/89.exercises/solution.md" | 4 ++-- .../2.java/9.exercises/solution.md" | 2 +- .../2.java/97.exercises/solution.md" | 2 +- .../3.python/101.exercises/solution.md" | 2 +- .../3.python/11.exercises/solution.md" | 2 +- .../3.python/14.exercises/solution.md" | 2 +- .../3.python/15.exercises/solution.md" | 2 +- .../3.python/18.exercises/solution.md" | 2 +- .../3.python/19.exercises/solution.md" | 2 +- .../3.python/25.exercises/solution.md" | 2 +- .../3.python/26.exercises/solution.md" | 2 +- .../3.python/32.exercises/solution.md" | 2 +- .../3.python/35.exercises/solution.md" | 2 +- .../3.python/38.exercises/solution.md" | 2 +- .../3.python/41.exercises/solution.md" | 2 +- .../3.python/42.exercises/solution.md" | 2 +- .../3.python/43.exercises/solution.md" | 2 +- .../3.python/48.exercises/solution.md" | 2 +- .../3.python/5.exercises/solution.md" | 2 +- .../3.python/54.exercises/solution.md" | 2 +- .../3.python/55.exercises/solution.md" | 4 ++-- .../3.python/56.exercises/solution.md" | 2 +- .../3.python/59.exercises/solution.md" | 2 +- .../3.python/60.exercises/solution.md" | 2 +- .../3.python/62.exercises/solution.md" | 6 +++--- .../3.python/63.exercises/solution.md" | 2 +- .../3.python/66.exercises/solution.md" | 2 +- .../3.python/7.exercises/solution.md" | 2 +- .../3.python/70.exercises/solution.md" | 4 ++-- .../3.python/71.exercises/solution.md" | 2 +- .../3.python/72.exercises/solution.md" | 2 +- .../3.python/73.exercises/solution.md" | 2 +- .../3.python/76.exercises/solution.md" | 4 ++-- .../3.python/77.exercises/solution.md" | 2 +- .../3.python/79.exercises/solution.md" | 6 +++--- .../3.python/8.exercises/solution.md" | 2 +- .../3.python/82.exercises/solution.md" | 6 +++--- .../3.python/84.exercises/solution.md" | 6 +++--- .../3.python/85.exercises/solution.md" | 4 ++-- .../3.python/87.exercises/solution.md" | 2 +- .../3.python/88.exercises/solution.md" | 4 ++-- .../3.python/9.exercises/solution.md" | 2 +- .../3.python/96.exercises/solution.md" | 2 +- .../1.cpp/21.exercises/solution.md" | 4 ++-- .../1.cpp/22.exercises/solution.md" | 2 +- .../1.cpp/23.exercises/solution.md" | 2 +- .../1.cpp/25.exercises/solution.md" | 2 +- .../1.cpp/26.exercises/solution.md" | 2 +- .../1.cpp/30.exercises/solution.md" | 2 +- .../1.cpp/32.exercises/solution.md" | 2 +- .../1.cpp/43.exercises/solution.md" | 4 ++-- .../1.cpp/49.exercises/solution.md" | 4 ++-- .../1.cpp/54.exercises/solution.md" | 4 ++-- .../1.cpp/56.exercises/solution.md" | 2 +- .../1.cpp/63.exercises/solution.md" | 2 +- .../1.cpp/69.exercises/solution.md" | 4 ++-- .../1.cpp/71.exercises/solution.md" | 6 +++--- .../1.cpp/75.exercises/solution.md" | 2 +- .../1.cpp/76.exercises/solution.md" | 8 ++++---- .../2.java/1.exercises/solution.md" | 4 ++-- .../2.java/10.exercises/solution.md" | 2 +- .../2.java/12.exercises/solution.md" | 2 +- .../2.java/2.exercises/solution.md" | 2 +- .../2.java/23.exercises/solution.md" | 4 ++-- .../2.java/29.exercises/solution.md" | 4 ++-- .../2.java/3.exercises/solution.md" | 2 +- .../2.java/34.exercises/solution.md" | 4 ++-- .../2.java/36.exercises/solution.md" | 2 +- .../2.java/43.exercises/solution.md" | 2 +- .../2.java/49.exercises/solution.md" | 4 ++-- .../2.java/5.exercises/solution.md" | 2 +- .../2.java/51.exercises/solution.md" | 6 +++--- .../2.java/55.exercises/solution.md" | 2 +- .../2.java/57.exercises/solution.md" | 8 ++++---- .../2.java/6.exercises/solution.md" | 2 +- .../3.python/11.exercises/solution.md" | 2 +- .../3.python/13.exercises/solution.md" | 2 +- .../3.python/2.exercises/solution.md" | 4 ++-- .../3.python/24.exercises/solution.md" | 4 ++-- .../3.python/3.exercises/solution.md" | 2 +- .../3.python/30.exercises/solution.md" | 4 ++-- .../3.python/35.exercises/solution.md" | 4 ++-- .../3.python/37.exercises/solution.md" | 2 +- .../3.python/4.exercises/solution.md" | 2 +- .../3.python/44.exercises/solution.md" | 2 +- .../3.python/50.exercises/solution.md" | 4 ++-- .../3.python/52.exercises/solution.md" | 6 +++--- .../3.python/56.exercises/solution.md" | 2 +- .../3.python/6.exercises/solution.md" | 2 +- .../3.python/7.exercises/solution.md" | 2 +- 218 files changed, 320 insertions(+), 320 deletions(-) diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/100.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/100.exercises/solution.md" index e193cacbc..8b86d3942 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/100.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/100.exercises/solution.md" @@ -7,16 +7,16 @@

 

示例 1:

- +
 输入:nums = [-10,-3,0,5,9]
 输出:[0,-3,9,-10,null,5]
 解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案:
-
+
 

示例 2:

- +
 输入:nums = [1,3]
 输出:[3,1]
diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/101.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/101.exercises/solution.md"
index 56a72c715..a5dc50c0c 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/101.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/101.exercises/solution.md"
@@ -11,14 +11,14 @@
 

 

示例 1:

- +
 输入:root = [3,9,20,null,null,15,7]
 输出:true
 

示例 2:

- +
 输入:root = [1,2,2,3,3,null,null,4,4]
 输出:false
diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/102.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/102.exercises/solution.md"
index 527bf9365..6c6f1954f 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/102.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/102.exercises/solution.md"
@@ -9,7 +9,7 @@
 

 

示例 1:

- +
 输入:root = [3,9,20,null,null,15,7]
 输出:2
diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/103.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/103.exercises/solution.md"
index b42acb06b..432be48a1 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/103.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/103.exercises/solution.md"
@@ -7,14 +7,14 @@
 

 

示例 1:

- +
 输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22
 输出:true
 

示例 2:

- +
 输入:root = [1,2,3], targetSum = 5
 输出:false
diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/104.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/104.exercises/solution.md"
index e9885e585..3e25eae36 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/104.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/104.exercises/solution.md"
@@ -4,7 +4,7 @@
 
 

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

-

+

 

diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/105.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/105.exercises/solution.md" index de78c7844..07b5d6cf5 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/105.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/105.exercises/solution.md" @@ -4,7 +4,7 @@

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

-

+

 

diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/110.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/110.exercises/solution.md" index 6d587b1cc..5c75ea21d 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/110.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/110.exercises/solution.md" @@ -16,7 +16,7 @@

示例 1:

-

+

输入:head = [3,2,0,-4], pos = 1
 输出:true
@@ -25,7 +25,7 @@
 
 

示例 2:

-

+

输入:head = [1,2], pos = 0
 输出:true
@@ -34,7 +34,7 @@
 
 

示例 3:

-

+

输入:head = [1], pos = -1
 输出:false
diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/111.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/111.exercises/solution.md"
index 4b9548af0..a40978adf 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/111.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/111.exercises/solution.md"
@@ -5,7 +5,7 @@
 

 

示例 1:

- +
 输入:root = [1,null,2,3]
 输出:[1,2,3]
@@ -26,14 +26,14 @@
 

示例 4:

- +
 输入:root = [1,2]
 输出:[1,2]
 

示例 5:

- +
 输入:root = [1,null,2]
 输出:[1,2]
diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/114.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/114.exercises/solution.md"
index 818e6a2e2..a6f5d8dbe 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/114.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/114.exercises/solution.md"
@@ -4,7 +4,7 @@
 
 

图示两个链表在节点 c1 开始相交

-

+

题目数据 保证 整个链式结构中不存在环。

@@ -14,7 +14,7 @@

示例 1:

-

+

 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3
@@ -26,7 +26,7 @@
 
 

示例 2:

-

+

 输入:intersectVal = 2, listA = [0,9,1,2,4], listB = [3,2,4], skipA = 3, skipB = 1
@@ -38,7 +38,7 @@
 
 

示例 3:

-

+

 输入:intersectVal = 0, listA = [2,6,4], listB = [1,5], skipA = 3, skipB = 2
diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/123.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/123.exercises/solution.md"
index 4b34eddad..6c8281396 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/123.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/123.exercises/solution.md"
@@ -4,7 +4,7 @@
 

 

示例 1:

- +
 输入:head = [1,2,6,3,4,5,6], val = 6
 输出:[1,2,3,4,5]
diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/126.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/126.exercises/solution.md"
index 9fd32f3f9..9ff699cb7 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/126.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/126.exercises/solution.md"
@@ -6,14 +6,14 @@
 

 

示例 1:

- +
 输入:head = [1,2,3,4,5]
 输出:[5,4,3,2,1]
 

示例 2:

- +
 输入:head = [1,2]
 输出:[2,1]
diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/134.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/134.exercises/solution.md"
index 2bd533e93..7bdb8a86c 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/134.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/134.exercises/solution.md"
@@ -5,14 +5,14 @@
 

 

示例 1:

- +
 输入:head = [1,2,2,1]
 输出:true
 

示例 2:

- +
 输入:head = [1,2]
 输出:false
diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/135.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/135.exercises/solution.md"
index 7ddce001c..307e4c19b 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/135.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/135.exercises/solution.md"
@@ -6,7 +6,7 @@
 
 

例如,给定如下二叉搜索树:  root = [6,2,8,0,4,7,9,null,null,3,5]

-

+

 

diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/40.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/40.exercises/solution.md" index b61b818cb..911b10b65 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/40.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/40.exercises/solution.md" @@ -1,7 +1,7 @@ # 整数分解

输入一个整数,将其按7进制位分解为各乘式的累加和(下图为输出结果)

-

+

 

## template diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/78.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/78.exercises/solution.md" index 542a7df22..bcf8cf054 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/78.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/78.exercises/solution.md" @@ -1,6 +1,6 @@ # 合并两个有序链表 -

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 

 

示例 1:

输入:l1 = [1,2,4], l2 = [1,3,4]
输出:
[1,1,2,3,4,4]

示例 2:

输入:l1 = [], l2 = []
输出:
[]

示例 3:

输入:l1 = [], l2 = [0]
输出:
[0]

 

提示:

  • 两个链表的节点数目范围是 [0, 50]
  • -100 <= Node.val <= 100
  • l1l2 均按 非递减顺序 排列
+

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 

 

示例 1:

输入:l1 = [1,2,4], l2 = [1,3,4]
输出:
[1,1,2,3,4,4]

示例 2:

输入:l1 = [], l2 = []
输出:
[]

示例 3:

输入:l1 = [], l2 = [0]
输出:
[0]

 

提示:

  • 两个链表的节点数目范围是 [0, 50]
  • -100 <= Node.val <= 100
  • l1l2 均按 非递减顺序 排列
## template diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/80.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/80.exercises/solution.md" index 43aa3a125..16655524e 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/80.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/80.exercises/solution.md" @@ -1,6 +1,6 @@ # 删除排序链表中的重复元素 -

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次

返回同样按升序排列的结果链表。

 

示例 1:

输入:head = [1,1,2]
输出:
[1,2]

示例 2:

输入:head = [1,1,2,3,3]
输出:
[1,2,3]

 

提示:

  • 链表中节点数目在范围 [0, 300]
  • -100 <= Node.val <= 100
  • 题目数据保证链表已经按升序排列
+

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次

返回同样按升序排列的结果链表。

 

示例 1:

输入:head = [1,1,2]
输出:
[1,2]

示例 2:

输入:head = [1,1,2,3,3]
输出:
[1,2,3]

 

提示:

  • 链表中节点数目在范围 [0, 300]
  • -100 <= Node.val <= 100
  • 题目数据保证链表已经按升序排列
## template diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/82.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/82.exercises/solution.md" index 93bbad570..c16b5bc08 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/82.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/82.exercises/solution.md" @@ -1,6 +1,6 @@ # 相同的树 -

给你两棵二叉树的根节点 pq ,编写一个函数来检验这两棵树是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

 

示例 1:

输入:p = [1,2,3], q = [1,2,3]
输出:
true

示例 2:

输入:p = [1,2], q = [1,null,2]
输出:
false

示例 3:

输入:p = [1,2,1], q = [1,1,2]
输出:
false

 

提示:

  • 两棵树上的节点数目都在范围 [0, 100]
  • -104 <= Node.val <= 104
+

给你两棵二叉树的根节点 pq ,编写一个函数来检验这两棵树是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

 

示例 1:

输入:p = [1,2,3], q = [1,2,3]
输出:
true

示例 2:

输入:p = [1,2], q = [1,null,2]
输出:
false

示例 3:

输入:p = [1,2,1], q = [1,1,2]
输出:
false

 

提示:

  • 两棵树上的节点数目都在范围 [0, 100]
  • -104 <= Node.val <= 104
## template diff --git "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/86.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/86.exercises/solution.md" index ce43bfa04..9583e279a 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/1.cpp/86.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/1.cpp/86.exercises/solution.md" @@ -1,6 +1,6 @@ # 二叉树的中序遍历 -

给定一个二叉树的根节点 root ,返回它的 中序 遍历。

 

示例 1:

输入:root = [1,null,2,3]
输出:
[1,3,2]

示例 2:

输入:root = []
输出:
[]

示例 3:

输入:root = [1]
输出:
[1]

示例 4:

输入:root = [1,2]
输出:
[2,1]

示例 5:

输入:root = [1,null,2]
输出:
[1,2]

 

提示:

  • 树中节点数目在范围 [0, 100]
  • -100 <= Node.val <= 100

 

进阶: 递归算法很简单,你可以通过迭代算法完成吗?

+

给定一个二叉树的根节点 root ,返回它的 中序 遍历。

 

示例 1:

输入:root = [1,null,2,3]
输出:
[1,3,2]

示例 2:

输入:root = []
输出:
[]

示例 3:

输入:root = [1]
输出:
[1]

示例 4:

输入:root = [1,2]
输出:
[2,1]

示例 5:

输入:root = [1,null,2]
输出:
[1,2]

 

提示:

  • 树中节点数目在范围 [0, 100]
  • -100 <= Node.val <= 100

 

进阶: 递归算法很简单,你可以通过迭代算法完成吗?

## template diff --git "a/data/1.dailycode\345\210\235\351\230\266/2.java/29.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/2.java/29.exercises/solution.md" index 6211b94be..da965ea4b 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/2.java/29.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/2.java/29.exercises/solution.md" @@ -1,6 +1,6 @@ # 合并两个有序链表 -

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 

 

示例 1:

输入:l1 = [1,2,4], l2 = [1,3,4]
输出:
[1,1,2,3,4,4]

示例 2:

输入:l1 = [], l2 = []
输出:
[]

示例 3:

输入:l1 = [], l2 = [0]
输出:
[0]

 

提示:

  • 两个链表的节点数目范围是 [0, 50]
  • -100 <= Node.val <= 100
  • l1l2 均按 非递减顺序 排列
+

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 

 

示例 1:

输入:l1 = [1,2,4], l2 = [1,3,4]
输出:
[1,1,2,3,4,4]

示例 2:

输入:l1 = [], l2 = []
输出:
[]

示例 3:

输入:l1 = [], l2 = [0]
输出:
[0]

 

提示:

  • 两个链表的节点数目范围是 [0, 50]
  • -100 <= Node.val <= 100
  • l1l2 均按 非递减顺序 排列
## template diff --git "a/data/1.dailycode\345\210\235\351\230\266/2.java/31.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/2.java/31.exercises/solution.md" index 9a8668d4e..3e389db23 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/2.java/31.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/2.java/31.exercises/solution.md" @@ -1,6 +1,6 @@ # 删除排序链表中的重复元素 -

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次

返回同样按升序排列的结果链表。

 

示例 1:

输入:head = [1,1,2]
输出:
[1,2]

示例 2:

输入:head = [1,1,2,3,3]
输出:
[1,2,3]

 

提示:

  • 链表中节点数目在范围 [0, 300]
  • -100 <= Node.val <= 100
  • 题目数据保证链表已经按升序排列
+

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次

返回同样按升序排列的结果链表。

 

示例 1:

输入:head = [1,1,2]
输出:
[1,2]

示例 2:

输入:head = [1,1,2,3,3]
输出:
[1,2,3]

 

提示:

  • 链表中节点数目在范围 [0, 300]
  • -100 <= Node.val <= 100
  • 题目数据保证链表已经按升序排列
## template diff --git "a/data/1.dailycode\345\210\235\351\230\266/2.java/33.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/2.java/33.exercises/solution.md" index 17db44cbe..e26becbd6 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/2.java/33.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/2.java/33.exercises/solution.md" @@ -1,6 +1,6 @@ # 相同的树 -

给你两棵二叉树的根节点 pq ,编写一个函数来检验这两棵树是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

 

示例 1:

输入:p = [1,2,3], q = [1,2,3]
输出:
true

示例 2:

输入:p = [1,2], q = [1,null,2]
输出:
false

示例 3:

输入:p = [1,2,1], q = [1,1,2]
输出:
false

 

提示:

  • 两棵树上的节点数目都在范围 [0, 100]
  • -104 <= Node.val <= 104
+

给你两棵二叉树的根节点 pq ,编写一个函数来检验这两棵树是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

 

示例 1:

输入:p = [1,2,3], q = [1,2,3]
输出:
true

示例 2:

输入:p = [1,2], q = [1,null,2]
输出:
false

示例 3:

输入:p = [1,2,1], q = [1,1,2]
输出:
false

 

提示:

  • 两棵树上的节点数目都在范围 [0, 100]
  • -104 <= Node.val <= 104
## template diff --git "a/data/1.dailycode\345\210\235\351\230\266/2.java/37.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/2.java/37.exercises/solution.md" index f153b13a7..b65eb6a82 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/2.java/37.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/2.java/37.exercises/solution.md" @@ -1,6 +1,6 @@ # 二叉树的中序遍历 -

给定一个二叉树的根节点 root ,返回它的 中序 遍历。

 

示例 1:

输入:root = [1,null,2,3]
输出:
[1,3,2]

示例 2:

输入:root = []
输出:
[]

示例 3:

输入:root = [1]
输出:
[1]

示例 4:

输入:root = [1,2]
输出:
[2,1]

示例 5:

输入:root = [1,null,2]
输出:
[1,2]

 

提示:

  • 树中节点数目在范围 [0, 100]
  • -100 <= Node.val <= 100

 

进阶: 递归算法很简单,你可以通过迭代算法完成吗?

+

给定一个二叉树的根节点 root ,返回它的 中序 遍历。

 

示例 1:

输入:root = [1,null,2,3]
输出:
[1,3,2]

示例 2:

输入:root = []
输出:
[]

示例 3:

输入:root = [1]
输出:
[1]

示例 4:

输入:root = [1,2]
输出:
[2,1]

示例 5:

输入:root = [1,null,2]
输出:
[1,2]

 

提示:

  • 树中节点数目在范围 [0, 100]
  • -100 <= Node.val <= 100

 

进阶: 递归算法很简单,你可以通过迭代算法完成吗?

## template diff --git "a/data/1.dailycode\345\210\235\351\230\266/2.java/51.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/2.java/51.exercises/solution.md" index 9656e8555..e88ce2d54 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/2.java/51.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/2.java/51.exercises/solution.md" @@ -7,16 +7,16 @@

 

示例 1:

- +
 输入:nums = [-10,-3,0,5,9]
 输出:[0,-3,9,-10,null,5]
 解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案:
-
+
 

示例 2:

- +
 输入:nums = [1,3]
 输出:[3,1]
diff --git "a/data/1.dailycode\345\210\235\351\230\266/2.java/52.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/2.java/52.exercises/solution.md"
index ceca68b56..520866c8b 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/2.java/52.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/2.java/52.exercises/solution.md"
@@ -11,14 +11,14 @@
 

 

示例 1:

- +
 输入:root = [3,9,20,null,null,15,7]
 输出:true
 

示例 2:

- +
 输入:root = [1,2,2,3,3,null,null,4,4]
 输出:false
diff --git "a/data/1.dailycode\345\210\235\351\230\266/2.java/53.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/2.java/53.exercises/solution.md"
index 168561774..9e3629b4e 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/2.java/53.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/2.java/53.exercises/solution.md"
@@ -9,7 +9,7 @@
 

 

示例 1:

- +
 输入:root = [3,9,20,null,null,15,7]
 输出:2
diff --git "a/data/1.dailycode\345\210\235\351\230\266/2.java/54.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/2.java/54.exercises/solution.md"
index 91a7a5c08..43b7a1b7c 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/2.java/54.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/2.java/54.exercises/solution.md"
@@ -7,14 +7,14 @@
 

 

示例 1:

- +
 输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22
 输出:true
 

示例 2:

- +
 输入:root = [1,2,3], targetSum = 5
 输出:false
diff --git "a/data/1.dailycode\345\210\235\351\230\266/2.java/55.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/2.java/55.exercises/solution.md"
index c032f3a5c..ea938a63f 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/2.java/55.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/2.java/55.exercises/solution.md"
@@ -4,7 +4,7 @@
 
 

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

-

+

 

diff --git "a/data/1.dailycode\345\210\235\351\230\266/2.java/56.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/2.java/56.exercises/solution.md" index f7c1b9096..a7c45aa0b 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/2.java/56.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/2.java/56.exercises/solution.md" @@ -4,7 +4,7 @@

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

-

+

 

diff --git "a/data/1.dailycode\345\210\235\351\230\266/2.java/61.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/2.java/61.exercises/solution.md" index 04feeba29..3e2ce66ce 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/2.java/61.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/2.java/61.exercises/solution.md" @@ -16,7 +16,7 @@

示例 1:

-

+

输入:head = [3,2,0,-4], pos = 1
 输出:true
@@ -25,7 +25,7 @@
 
 

示例 2:

-

+

输入:head = [1,2], pos = 0
 输出:true
@@ -34,7 +34,7 @@
 
 

示例 3:

-

+

输入:head = [1], pos = -1
 输出:false
diff --git "a/data/1.dailycode\345\210\235\351\230\266/2.java/62.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/2.java/62.exercises/solution.md"
index 80a37e8a7..5746bb9f5 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/2.java/62.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/2.java/62.exercises/solution.md"
@@ -5,7 +5,7 @@
 

 

示例 1:

- +
 输入:root = [1,null,2,3]
 输出:[1,2,3]
@@ -26,14 +26,14 @@
 

示例 4:

- +
 输入:root = [1,2]
 输出:[1,2]
 

示例 5:

- +
 输入:root = [1,null,2]
 输出:[1,2]
diff --git "a/data/1.dailycode\345\210\235\351\230\266/2.java/73.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/2.java/73.exercises/solution.md"
index 1eff0ebcd..69e41a9a6 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/2.java/73.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/2.java/73.exercises/solution.md"
@@ -4,7 +4,7 @@
 

 

示例 1:

- +
 输入:head = [1,2,6,3,4,5,6], val = 6
 输出:[1,2,3,4,5]
diff --git "a/data/1.dailycode\345\210\235\351\230\266/2.java/76.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/2.java/76.exercises/solution.md"
index a3dd03ecd..71ae45436 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/2.java/76.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/2.java/76.exercises/solution.md"
@@ -6,14 +6,14 @@
 

 

示例 1:

- +
 输入:head = [1,2,3,4,5]
 输出:[5,4,3,2,1]
 

示例 2:

- +
 输入:head = [1,2]
 输出:[2,1]
diff --git "a/data/1.dailycode\345\210\235\351\230\266/2.java/84.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/2.java/84.exercises/solution.md"
index 07965ad56..3038968a9 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/2.java/84.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/2.java/84.exercises/solution.md"
@@ -5,14 +5,14 @@
 

 

示例 1:

- +
 输入:head = [1,2,2,1]
 输出:true
 

示例 2:

- +
 输入:head = [1,2]
 输出:false
diff --git "a/data/1.dailycode\345\210\235\351\230\266/2.java/85.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/2.java/85.exercises/solution.md"
index 9be2cb38c..f3a35f89e 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/2.java/85.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/2.java/85.exercises/solution.md"
@@ -6,7 +6,7 @@
 
 

例如,给定如下二叉搜索树:  root = [6,2,8,0,4,7,9,null,null,3,5]

-

+

 

diff --git "a/data/1.dailycode\345\210\235\351\230\266/3.python/29.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/3.python/29.exercises/solution.md" index 7db8a0deb..ee9e673a9 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/3.python/29.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/3.python/29.exercises/solution.md" @@ -1,6 +1,6 @@ # 合并两个有序链表 -

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 

 

示例 1:

输入:l1 = [1,2,4], l2 = [1,3,4]
输出:
[1,1,2,3,4,4]

示例 2:

输入:l1 = [], l2 = []
输出:
[]

示例 3:

输入:l1 = [], l2 = [0]
输出:
[0]

 

提示:

  • 两个链表的节点数目范围是 [0, 50]
  • -100 <= Node.val <= 100
  • l1l2 均按 非递减顺序 排列
+

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 

 

示例 1:

输入:l1 = [1,2,4], l2 = [1,3,4]
输出:
[1,1,2,3,4,4]

示例 2:

输入:l1 = [], l2 = []
输出:
[]

示例 3:

输入:l1 = [], l2 = [0]
输出:
[0]

 

提示:

  • 两个链表的节点数目范围是 [0, 50]
  • -100 <= Node.val <= 100
  • l1l2 均按 非递减顺序 排列
## template diff --git "a/data/1.dailycode\345\210\235\351\230\266/3.python/31.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/3.python/31.exercises/solution.md" index f722fa51a..f0a83360c 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/3.python/31.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/3.python/31.exercises/solution.md" @@ -1,6 +1,6 @@ # 删除排序链表中的重复元素 -

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次

返回同样按升序排列的结果链表。

 

示例 1:

输入:head = [1,1,2]
输出:
[1,2]

示例 2:

输入:head = [1,1,2,3,3]
输出:
[1,2,3]

 

提示:

  • 链表中节点数目在范围 [0, 300]
  • -100 <= Node.val <= 100
  • 题目数据保证链表已经按升序排列
+

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除所有重复的元素,使每个元素 只出现一次

返回同样按升序排列的结果链表。

 

示例 1:

输入:head = [1,1,2]
输出:
[1,2]

示例 2:

输入:head = [1,1,2,3,3]
输出:
[1,2,3]

 

提示:

  • 链表中节点数目在范围 [0, 300]
  • -100 <= Node.val <= 100
  • 题目数据保证链表已经按升序排列
## template diff --git "a/data/1.dailycode\345\210\235\351\230\266/3.python/33.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/3.python/33.exercises/solution.md" index 78b7525a4..5d4bdecfd 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/3.python/33.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/3.python/33.exercises/solution.md" @@ -1,6 +1,6 @@ # 相同的树 -

给你两棵二叉树的根节点 pq ,编写一个函数来检验这两棵树是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

 

示例 1:

输入:p = [1,2,3], q = [1,2,3]
输出:
true

示例 2:

输入:p = [1,2], q = [1,null,2]
输出:
false

示例 3:

输入:p = [1,2,1], q = [1,1,2]
输出:
false

 

提示:

  • 两棵树上的节点数目都在范围 [0, 100]
  • -104 <= Node.val <= 104
+

给你两棵二叉树的根节点 pq ,编写一个函数来检验这两棵树是否相同。

如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。

 

示例 1:

输入:p = [1,2,3], q = [1,2,3]
输出:
true

示例 2:

输入:p = [1,2], q = [1,null,2]
输出:
false

示例 3:

输入:p = [1,2,1], q = [1,1,2]
输出:
false

 

提示:

  • 两棵树上的节点数目都在范围 [0, 100]
  • -104 <= Node.val <= 104
## template diff --git "a/data/1.dailycode\345\210\235\351\230\266/3.python/37.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/3.python/37.exercises/solution.md" index a14cb25ea..05ffef2ad 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/3.python/37.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/3.python/37.exercises/solution.md" @@ -1,6 +1,6 @@ # 二叉树的中序遍历 -

给定一个二叉树的根节点 root ,返回它的 中序 遍历。

 

示例 1:

输入:root = [1,null,2,3]
输出:
[1,3,2]

示例 2:

输入:root = []
输出:
[]

示例 3:

输入:root = [1]
输出:
[1]

示例 4:

输入:root = [1,2]
输出:
[2,1]

示例 5:

输入:root = [1,null,2]
输出:
[1,2]

 

提示:

  • 树中节点数目在范围 [0, 100]
  • -100 <= Node.val <= 100

 

进阶: 递归算法很简单,你可以通过迭代算法完成吗?

+

给定一个二叉树的根节点 root ,返回它的 中序 遍历。

 

示例 1:

输入:root = [1,null,2,3]
输出:
[1,3,2]

示例 2:

输入:root = []
输出:
[]

示例 3:

输入:root = [1]
输出:
[1]

示例 4:

输入:root = [1,2]
输出:
[2,1]

示例 5:

输入:root = [1,null,2]
输出:
[1,2]

 

提示:

  • 树中节点数目在范围 [0, 100]
  • -100 <= Node.val <= 100

 

进阶: 递归算法很简单,你可以通过迭代算法完成吗?

## template diff --git "a/data/1.dailycode\345\210\235\351\230\266/3.python/51.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/3.python/51.exercises/solution.md" index ebc0d0fdd..e7ef38ce8 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/3.python/51.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/3.python/51.exercises/solution.md" @@ -7,16 +7,16 @@

 

示例 1:

- +
 输入:nums = [-10,-3,0,5,9]
 输出:[0,-3,9,-10,null,5]
 解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案:
-
+
 

示例 2:

- +
 输入:nums = [1,3]
 输出:[3,1]
diff --git "a/data/1.dailycode\345\210\235\351\230\266/3.python/52.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/3.python/52.exercises/solution.md"
index eb6a3c25b..09d63edb3 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/3.python/52.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/3.python/52.exercises/solution.md"
@@ -11,14 +11,14 @@
 

 

示例 1:

- +
 输入:root = [3,9,20,null,null,15,7]
 输出:true
 

示例 2:

- +
 输入:root = [1,2,2,3,3,null,null,4,4]
 输出:false
diff --git "a/data/1.dailycode\345\210\235\351\230\266/3.python/53.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/3.python/53.exercises/solution.md"
index abe62efd9..84e88ab2c 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/3.python/53.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/3.python/53.exercises/solution.md"
@@ -9,7 +9,7 @@
 

 

示例 1:

- +
 输入:root = [3,9,20,null,null,15,7]
 输出:2
diff --git "a/data/1.dailycode\345\210\235\351\230\266/3.python/54.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/3.python/54.exercises/solution.md"
index 5c554b851..575d34fa7 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/3.python/54.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/3.python/54.exercises/solution.md"
@@ -7,14 +7,14 @@
 

 

示例 1:

- +
 输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22
 输出:true
 

示例 2:

- +
 输入:root = [1,2,3], targetSum = 5
 输出:false
diff --git "a/data/1.dailycode\345\210\235\351\230\266/3.python/55.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/3.python/55.exercises/solution.md"
index 992b73bcd..c0f2eab78 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/3.python/55.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/3.python/55.exercises/solution.md"
@@ -4,7 +4,7 @@
 
 

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

-

+

 

diff --git "a/data/1.dailycode\345\210\235\351\230\266/3.python/56.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/3.python/56.exercises/solution.md" index 40e04550d..5bf1cecc6 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/3.python/56.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/3.python/56.exercises/solution.md" @@ -4,7 +4,7 @@

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

-

+

 

diff --git "a/data/1.dailycode\345\210\235\351\230\266/3.python/61.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/3.python/61.exercises/solution.md" index 1f1b4ca44..1e84cda3b 100644 --- "a/data/1.dailycode\345\210\235\351\230\266/3.python/61.exercises/solution.md" +++ "b/data/1.dailycode\345\210\235\351\230\266/3.python/61.exercises/solution.md" @@ -16,7 +16,7 @@

示例 1:

-

+

输入:head = [3,2,0,-4], pos = 1
 输出:true
@@ -25,7 +25,7 @@
 
 

示例 2:

-

+

输入:head = [1,2], pos = 0
 输出:true
@@ -34,7 +34,7 @@
 
 

示例 3:

-

+

输入:head = [1], pos = -1
 输出:false
diff --git "a/data/1.dailycode\345\210\235\351\230\266/3.python/62.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/3.python/62.exercises/solution.md"
index 4f5736bbc..73f6e557e 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/3.python/62.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/3.python/62.exercises/solution.md"
@@ -5,7 +5,7 @@
 

 

示例 1:

- +
 输入:root = [1,null,2,3]
 输出:[1,2,3]
@@ -26,14 +26,14 @@
 

示例 4:

- +
 输入:root = [1,2]
 输出:[1,2]
 

示例 5:

- +
 输入:root = [1,null,2]
 输出:[1,2]
diff --git "a/data/1.dailycode\345\210\235\351\230\266/3.python/65.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/3.python/65.exercises/solution.md"
index 09478dd85..dc8db4280 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/3.python/65.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/3.python/65.exercises/solution.md"
@@ -4,7 +4,7 @@
 
 

图示两个链表在节点 c1 开始相交

-

+

题目数据 保证 整个链式结构中不存在环。

@@ -14,7 +14,7 @@

示例 1:

-

+

 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3
@@ -26,7 +26,7 @@
 
 

示例 2:

-

+

 输入:intersectVal = 2, listA = [0,9,1,2,4], listB = [3,2,4], skipA = 3, skipB = 1
@@ -38,7 +38,7 @@
 
 

示例 3:

-

+

 输入:intersectVal = 0, listA = [2,6,4], listB = [1,5], skipA = 3, skipB = 2
diff --git "a/data/1.dailycode\345\210\235\351\230\266/3.python/74.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/3.python/74.exercises/solution.md"
index c90595f14..c76ca7b8e 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/3.python/74.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/3.python/74.exercises/solution.md"
@@ -4,7 +4,7 @@
 

 

示例 1:

- +
 输入:head = [1,2,6,3,4,5,6], val = 6
 输出:[1,2,3,4,5]
diff --git "a/data/1.dailycode\345\210\235\351\230\266/3.python/77.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/3.python/77.exercises/solution.md"
index 632ad8989..df9548177 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/3.python/77.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/3.python/77.exercises/solution.md"
@@ -6,14 +6,14 @@
 

 

示例 1:

- +
 输入:head = [1,2,3,4,5]
 输出:[5,4,3,2,1]
 

示例 2:

- +
 输入:head = [1,2]
 输出:[2,1]
diff --git "a/data/1.dailycode\345\210\235\351\230\266/3.python/85.exercises/solution.md" "b/data/1.dailycode\345\210\235\351\230\266/3.python/85.exercises/solution.md"
index 5f206779e..a4a5c1440 100644
--- "a/data/1.dailycode\345\210\235\351\230\266/3.python/85.exercises/solution.md"
+++ "b/data/1.dailycode\345\210\235\351\230\266/3.python/85.exercises/solution.md"
@@ -5,14 +5,14 @@
 

 

示例 1:

- +
 输入:head = [1,2,2,1]
 输出:true
 

示例 2:

- +
 输入:head = [1,2]
 输出:false
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/100.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/100.exercises/solution.md"
index 436bf0907..cd090b4ba 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/100.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/100.exercises/solution.md"
@@ -16,7 +16,7 @@
 

 

示例 1:

- +
 输入:root = [1,2,3]
 输出:25
@@ -26,7 +26,7 @@
 因此,数字总和 = 12 + 13 = 25

示例 2:

- +
 输入:root = [4,9,0,5,1]
 输出:1026
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/101.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/101.exercises/solution.md"
index cd76118ca..36e7c6eb6 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/101.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/101.exercises/solution.md"
@@ -6,7 +6,7 @@
 

 

示例 1:

- +
 输入:board = [["X","X","X","X"],["X","O","O","X"],["X","X","O","X"],["X","O","X","X"]]
 输出:[["X","X","X","X"],["X","X","X","X"],["X","X","X","X"],["X","O","X","X"]]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/103.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/103.exercises/solution.md"
index 89b5548bc..ed08f54b2 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/103.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/103.exercises/solution.md"
@@ -23,7 +23,7 @@
 
 

示例 1:

-

+

输入:adjList = [[2,4],[1,3],[2,4],[1,3]]
 输出:[[2,4],[1,3],[2,4],[1,3]]
@@ -37,7 +37,7 @@
 
 

示例 2:

-

+

输入:adjList = [[]]
 输出:[[]]
@@ -53,7 +53,7 @@
 
 

示例 4:

-

+

输入:adjList = [[2],[1]]
 输出:[[2],[1]]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/106.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/106.exercises/solution.md" index ff6fecccf..182c8a981 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/106.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/106.exercises/solution.md" @@ -21,7 +21,7 @@

示例 1:

-

+

 输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]
@@ -30,7 +30,7 @@
 
 

示例 2:

-

+

 输入:head = [[1,1],[2,1]]
@@ -39,7 +39,7 @@
 
 

示例 3:

-

+

 输入:head = [[3,null],[3,0],[3,null]]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/108.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/108.exercises/solution.md"
index d926ada51..7a227922c 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/108.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/108.exercises/solution.md"
@@ -16,7 +16,7 @@
 
 

示例 1:

-

+

 输入:head = [3,2,0,-4], pos = 1
@@ -26,7 +26,7 @@
 
 

示例 2:

-

+

 输入:head = [1,2], pos = 0
@@ -36,7 +36,7 @@
 
 

示例 3:

-

+

 输入:head = [1], pos = -1
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/109.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/109.exercises/solution.md"
index 7872033b6..6b47c5158 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/109.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/109.exercises/solution.md"
@@ -13,7 +13,7 @@
 
 

示例 1:

-

+

 输入: head = [1,2,3,4]
@@ -21,7 +21,7 @@
 
 

示例 2:

-

+

 输入: head = [1,2,3,4,5]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/111.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/111.exercises/solution.md"
index cd8e1e2b0..16a4900c7 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/111.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/111.exercises/solution.md"
@@ -2,7 +2,7 @@
 
 

对链表进行插入排序。

-


+


插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。
每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。

diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/112.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/112.exercises/solution.md" index 517ce6fbe..8a08228a1 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/112.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/112.exercises/solution.md" @@ -11,14 +11,14 @@

 

示例 1:

- +
 输入:head = [4,2,1,3]
 输出:[1,2,3,4]
 

示例 2:

- +
 输入:head = [-1,5,3,4,0]
 输出:[-1,0,3,4,5]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/120.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/120.exercises/solution.md"
index 1e7b06214..1073feb97 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/120.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/120.exercises/solution.md"
@@ -18,7 +18,7 @@
 

 

示例:

- +
 输入
 ["BSTIterator", "next", "next", "hasNext", "next", "hasNext", "next", "hasNext", "next", "hasNext"]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/125.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/125.exercises/solution.md"
index a98d76cd2..00aea3304 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/125.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/125.exercises/solution.md"
@@ -6,7 +6,7 @@
 
 

示例 1:

-

+

 输入: [1,2,3,null,5,null,4]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/29.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/29.exercises/solution.md"
index 0a79020ca..466161676 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/29.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/29.exercises/solution.md"
@@ -1,6 +1,6 @@
 # 恢复二叉搜索树
 
-

给你二叉搜索树的根节点 root ,该树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。

进阶:使用 O(n) 空间复杂度的解法很容易实现。你能想出一个只使用常数空间的解决方案吗?

 

示例 1:

输入:root = [1,3,null,null,2]
输出:
[3,1,null,null,2]
解释:
3 不能是 1 左孩子,因为 3 > 1 。交换 1 和 3 使二叉搜索树有效。

示例 2:

输入:root = [3,1,4,null,null,2]
输出:
[2,1,4,null,null,3]
解释:
2 不能在 3 的右子树中,因为 2 < 3 。交换 2 和 3 使二叉搜索树有效。

 

提示:

  • 树上节点的数目在范围 [2, 1000]
  • -231 <= Node.val <= 231 - 1
+

给你二叉搜索树的根节点 root ,该树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。

进阶:使用 O(n) 空间复杂度的解法很容易实现。你能想出一个只使用常数空间的解决方案吗?

 

示例 1:

输入:root = [1,3,null,null,2]
输出:
[3,1,null,null,2]
解释:
3 不能是 1 左孩子,因为 3 > 1 。交换 1 和 3 使二叉搜索树有效。

示例 2:

输入:root = [3,1,4,null,null,2]
输出:
[2,1,4,null,null,3]
解释:
2 不能在 3 的右子树中,因为 2 < 3 。交换 2 和 3 使二叉搜索树有效。

 

提示:

  • 树上节点的数目在范围 [2, 1000]
  • -231 <= Node.val <= 231 - 1
以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/31.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/31.exercises/solution.md" index 2aebef569..29adbceba 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/31.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/31.exercises/solution.md" @@ -5,7 +5,7 @@

问总共有多少条不同的路径?

 

示例 1:

+ src="https://img-service.csdnimg.cn/img_convert/099169dc43ebe3d42afb948803f38eda.png" />
输入:m = 3, n = 7
输出:
28

示例 2:

输入:m = 3, n = 2
输出:
3
解释:
从左上角开始,总共有 3 条路径可以到达右下角。
1. 向右 -> 向下 -> 向下
2. 向下 -> 向下 -> 向右
3. 向下 -> 向右 -> 向下
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/32.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/32.exercises/solution.md" index 940854b27..6e16c3b4d 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/32.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/32.exercises/solution.md" @@ -1,6 +1,6 @@ # 电话号码的字母组合 -

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

 

示例 1:

输入:digits = "23"
输出:
["ad","ae","af","bd","be","bf","cd","ce","cf"]

示例 2:

输入:digits = ""
输出:
[]

示例 3:

输入:digits = "2"
输出:
["a","b","c"]

 

提示:

  • 0 <= digits.length <= 4
  • digits[i] 是范围 ['2', '9'] 的一个数字。
+

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

 

示例 1:

输入:digits = "23"
输出:
["ad","ae","af","bd","be","bf","cd","ce","cf"]

示例 2:

输入:digits = ""
输出:
[]

示例 3:

输入:digits = "2"
输出:
["a","b","c"]

 

提示:

  • 0 <= digits.length <= 4
  • digits[i] 是范围 ['2', '9'] 的一个数字。
以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/33.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/33.exercises/solution.md" index 830cf2331..5bd5168aa 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/33.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/33.exercises/solution.md" @@ -11,7 +11,7 @@

示例 1:

+ src="https://img-service.csdnimg.cn/img_convert/afa8711beb3c6f3c54d039379f525fb7.jpeg" alt="">
输入:n = 3
 输出:[[1,null,2,null,3],[1,null,3,2],[2,1,3],[3,1,null,null,2],[3,2,null,1]]
     
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/35.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/35.exercises/solution.md" index 2442a1c00..733d83322 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/35.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/35.exercises/solution.md" @@ -7,7 +7,7 @@

 

示例 1:

-
输入:n = 3
 输出:5
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/38.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/38.exercises/solution.md"
index 3d276ecdd..4dc392854 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/38.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/38.exercises/solution.md"
@@ -32,7 +32,7 @@
 
     

例如,数字字符串 "3322251" 的描述如下图:

diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/39.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/39.exercises/solution.md" index 415583b16..1151886f5 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/39.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/39.exercises/solution.md" @@ -1,6 +1,6 @@ # 旋转链表 -

给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。

 

示例 1:

输入:head = [1,2,3,4,5], k = 2
输出:
[4,5,1,2,3]

示例 2:

输入:head = [0,1,2], k = 4
输出:
[2,0,1]

 

提示:

  • 链表中节点的数目在范围 [0, 500]
  • -100 <= Node.val <= 100
  • 0 <= k <= 2 * 109
+

给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。

 

示例 1:

输入:head = [1,2,3,4,5], k = 2
输出:
[4,5,1,2,3]

示例 2:

输入:head = [0,1,2], k = 4
输出:
[2,0,1]

 

提示:

  • 链表中节点的数目在范围 [0, 500]
  • -100 <= Node.val <= 100
  • 0 <= k <= 2 * 109
以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/4.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/4.exercises/solution.md" index eb9b298b4..798fa9b77 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/4.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/4.exercises/solution.md" @@ -2,7 +2,7 @@

一个整型数组有10元素,请先给这10个元素赋值,然后随便输入一个数,最后输出数组中比这个数小的所有元素,每个数用空格隔开,如果没有找到,则输出not find。
 

-

+

 

以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/42.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/42.exercises/solution.md" index acbda4475..0ba35fab4 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/42.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/42.exercises/solution.md" @@ -1,6 +1,6 @@ # 旋转图像 -

给定一个 × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。

你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

 

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:
[[7,4,1],[8,5,2],[9,6,3]]

示例 2:

输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
输出:
[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]

示例 3:

输入:matrix = [[1]]
输出:
[[1]]

示例 4:

输入:matrix = [[1,2],[3,4]]
输出:
[[3,1],[4,2]]

 

提示:

  • matrix.length == n
  • matrix[i].length == n
  • 1 <= n <= 20
  • -1000 <= matrix[i][j] <= 1000
+

给定一个 × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。

你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

 

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:
[[7,4,1],[8,5,2],[9,6,3]]

示例 2:

输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
输出:
[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]

示例 3:

输入:matrix = [[1]]
输出:
[[1]]

示例 4:

输入:matrix = [[1,2],[3,4]]
输出:
[[3,1],[4,2]]

 

提示:

  • matrix.length == n
  • matrix[i].length == n
  • 1 <= n <= 20
  • -1000 <= matrix[i][j] <= 1000
以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/43.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/43.exercises/solution.md" index 96e4feb67..708bf563b 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/43.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/43.exercises/solution.md" @@ -1,6 +1,6 @@ # 盛最多水的容器 -

给你 n 个非负整数 a1,a2,...,an每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai)(i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

说明:你不能倾斜容器。

 

示例 1:

输入:[1,8,6,2,5,4,8,3,7]
输出:
49
解释:
图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。

示例 2:

输入:height = [1,1]
输出:
1

示例 3:

输入:height = [4,3,2,1,4]
输出:
16

示例 4:

输入:height = [1,2,1]
输出:
2

 

提示:

  • n = height.length
  • 2 <= n <= 3 * 104
  • 0 <= height[i] <= 3 * 104
+

给你 n 个非负整数 a1,a2,...,an每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai)(i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

说明:你不能倾斜容器。

 

示例 1:

输入:[1,8,6,2,5,4,8,3,7]
输出:
49
解释:
图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。

示例 2:

输入:height = [1,1]
输出:
1

示例 3:

输入:height = [4,3,2,1,4]
输出:
16

示例 4:

输入:height = [1,2,1]
输出:
2

 

提示:

  • n = height.length
  • 2 <= n <= 3 * 104
  • 0 <= height[i] <= 3 * 104
以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/49.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/49.exercises/solution.md" index f1b28f0e7..5be09aa84 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/49.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/49.exercises/solution.md" @@ -1,6 +1,6 @@ # 两数相加 -

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

 

示例 1:

输入:l1 = [2,4,3], l2 = [5,6,4]
输出:
[7,0,8]
解释:
342 + 465 = 807.

示例 2:

输入:l1 = [0], l2 = [0]
输出:
[0]

示例 3:

输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]
输出:
[8,9,9,9,0,0,0,1]

 

提示:

  • 每个链表中的节点数在范围 [1, 100]
  • 0 <= Node.val <= 9
  • 题目数据保证列表表示的数字不含前导零
+

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

 

示例 1:

输入:l1 = [2,4,3], l2 = [5,6,4]
输出:
[7,0,8]
解释:
342 + 465 = 807.

示例 2:

输入:l1 = [0], l2 = [0]
输出:
[0]

示例 3:

输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]
输出:
[8,9,9,9,0,0,0,1]

 

提示:

  • 每个链表中的节点数在范围 [1, 100]
  • 0 <= Node.val <= 9
  • 题目数据保证列表表示的数字不含前导零
以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/50.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/50.exercises/solution.md" index 9fd2de036..813a4e139 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/50.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/50.exercises/solution.md" @@ -1,6 +1,6 @@ # 分隔链表 -

给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。

你应当 保留 两个分区中每个节点的初始相对位置。

 

示例 1:

输入:head = [1,4,3,2,5,2], x = 3
输出
:[1,2,2,4,3,5]

示例 2:

输入:head = [2,1], x = 2
输出
:[1,2]

 

提示:

  • 链表中节点的数目在范围 [0, 200]
  • -100 <= Node.val <= 100
  • -200 <= x <= 200
+

给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。

你应当 保留 两个分区中每个节点的初始相对位置。

 

示例 1:

输入:head = [1,4,3,2,5,2], x = 3
输出
:[1,2,2,4,3,5]

示例 2:

输入:head = [2,1], x = 2
输出
:[1,2]

 

提示:

  • 链表中节点的数目在范围 [0, 200]
  • -100 <= Node.val <= 100
  • -200 <= x <= 200
以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/56.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/56.exercises/solution.md" index cebcfba66..25547f8d1 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/56.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/56.exercises/solution.md" @@ -1,6 +1,6 @@ # 螺旋矩阵 -

给你一个 mn 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。

 

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:
[1,2,3,6,9,8,7,4,5]

示例 2:

输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
输出:
[1,2,3,4,8,12,11,10,9,5,6,7]

 

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 10
  • -100 <= matrix[i][j] <= 100
+

给你一个 mn 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。

 

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:
[1,2,3,6,9,8,7,4,5]

示例 2:

输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
输出:
[1,2,3,4,8,12,11,10,9,5,6,7]

 

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 10
  • -100 <= matrix[i][j] <= 100
以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/59.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/59.exercises/solution.md" index 603ab2310..1ccc1a018 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/59.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/59.exercises/solution.md" @@ -1,6 +1,6 @@ # 搜索二维矩阵 -

编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:

  • 每行中的整数从左到右按升序排列。
  • 每行的第一个整数大于前一行的最后一个整数。

 

示例 1:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
输出:
true

示例 2:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
输出:
false

 

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 100
  • -104 <= matrix[i][j], target <= 104
+

编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:

  • 每行中的整数从左到右按升序排列。
  • 每行的第一个整数大于前一行的最后一个整数。

 

示例 1:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
输出:
true

示例 2:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
输出:
false

 

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 100
  • -104 <= matrix[i][j], target <= 104
以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/62.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/62.exercises/solution.md" index cc40b25be..e185cd9cb 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/62.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/62.exercises/solution.md" @@ -1,6 +1,6 @@ # 矩阵置零 -

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法

进阶:

  • 一个直观的解决方案是使用  O(mn) 的额外空间,但这并不是一个好的解决方案。
  • 一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。
  • 你能想出一个仅使用常量空间的解决方案吗?

 

示例 1:

输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
输出:
[[1,0,1],[0,0,0],[1,0,1]]

示例 2:

输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
输出:
[[0,0,0,0],[0,4,5,0],[0,3,1,0]]

 

提示:

  • m == matrix.length
  • n == matrix[0].length
  • 1 <= m, n <= 200
  • -231 <= matrix[i][j] <= 231 - 1
+

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法

进阶:

  • 一个直观的解决方案是使用  O(mn) 的额外空间,但这并不是一个好的解决方案。
  • 一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。
  • 你能想出一个仅使用常量空间的解决方案吗?

 

示例 1:

输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
输出:
[[1,0,1],[0,0,0],[1,0,1]]

示例 2:

输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
输出:
[[0,0,0,0],[0,4,5,0],[0,3,1,0]]

 

提示:

  • m == matrix.length
  • n == matrix[0].length
  • 1 <= m, n <= 200
  • -231 <= matrix[i][j] <= 231 - 1
以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/65.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/65.exercises/solution.md" index ff8a65791..631226a69 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/65.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/65.exercises/solution.md" @@ -1,6 +1,6 @@ # 反转链表 II -给你单链表的头指针 head 和两个整数 leftright ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表

 

示例 1:

输入:head = [1,2,3,4,5], left = 2, right = 4
输出:
[1,4,3,2,5]

示例 2:

输入:head = [5], left = 1, right = 1
输出:
[5]

 

提示:

  • 链表中节点数目为 n
  • 1 <= n <= 500
  • -500 <= Node.val <= 500
  • 1 <= left <= right <= n

 

进阶: 你可以使用一趟扫描完成反转吗?

+给你单链表的头指针 head 和两个整数 leftright ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表

 

示例 1:

输入:head = [1,2,3,4,5], left = 2, right = 4
输出:
[1,4,3,2,5]

示例 2:

输入:head = [5], left = 1, right = 1
输出:
[5]

 

提示:

  • 链表中节点数目为 n
  • 1 <= n <= 500
  • -500 <= Node.val <= 500
  • 1 <= left <= right <= n

 

进阶: 你可以使用一趟扫描完成反转吗?

以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/66.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/66.exercises/solution.md" index 2528efd6b..874080460 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/66.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/66.exercises/solution.md" @@ -1,6 +1,6 @@ # 最小路径和 -

给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

说明:每次只能向下或者向右移动一步。

 

示例 1:

输入:grid = [[1,3,1],[1,5,1],[4,2,1]]
输出:
7
解释:
因为路径 1→3→1→1→1 的总和最小。

示例 2:

输入:grid = [[1,2,3],[4,5,6]]
输出:
12

 

提示:

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 200
  • 0 <= grid[i][j] <= 100
+

给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

说明:每次只能向下或者向右移动一步。

 

示例 1:

输入:grid = [[1,3,1],[1,5,1],[4,2,1]]
输出:
7
解释:
因为路径 1→3→1→1→1 的总和最小。

示例 2:

输入:grid = [[1,2,3],[4,5,6]]
输出:
12

 

提示:

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 200
  • 0 <= grid[i][j] <= 100
以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/67.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/67.exercises/solution.md" index 099365eb8..550feb644 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/67.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/67.exercises/solution.md" @@ -1,6 +1,6 @@ # 删除链表的倒数第 N 个结点 -

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

进阶:你能尝试使用一趟扫描实现吗?

 

示例 1:

输入:head = [1,2,3,4,5], n = 2
输出:
[1,2,3,5]

示例 2:

输入:head = [1], n = 1
输出:
[]

示例 3:

输入:head = [1,2], n = 1
输出:
[1]

 

提示:

  • 链表中结点的数目为 sz
  • 1 <= sz <= 30
  • 0 <= Node.val <= 100
  • 1 <= n <= sz
+

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

进阶:你能尝试使用一趟扫描实现吗?

 

示例 1:

输入:head = [1,2,3,4,5], n = 2
输出:
[1,2,3,5]

示例 2:

输入:head = [1], n = 1
输出:
[]

示例 3:

输入:head = [1,2], n = 1
输出:
[1]

 

提示:

  • 链表中结点的数目为 sz
  • 1 <= sz <= 30
  • 0 <= Node.val <= 100
  • 1 <= n <= sz
以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/72.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/72.exercises/solution.md" index d2ede5a0c..4707d848f 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/72.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/72.exercises/solution.md" @@ -1,6 +1,6 @@ # 交错字符串 -

给定三个字符串 s1s2s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。

两个字符串 st 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:

  • s = s1 + s2 + ... + sn
  • t = t1 + t2 + ... + tm
  • |n - m| <= 1
  • 交错s1 + t1 + s2 + t2 + s3 + t3 + ... 或者 t1 + s1 + t2 + s2 + t3 + s3 + ...

提示:a + b 意味着字符串 ab 连接。

 

示例 1:

输入:s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"
输出:
true

示例 2:

输入:s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc"
输出:
false

示例 3:

输入:s1 = "", s2 = "", s3 = ""
输出:
true

 

提示:

  • 0 <= s1.length, s2.length <= 100
  • 0 <= s3.length <= 200
  • s1s2、和 s3 都由小写英文字母组成
+

给定三个字符串 s1s2s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。

两个字符串 st 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:

  • s = s1 + s2 + ... + sn
  • t = t1 + t2 + ... + tm
  • |n - m| <= 1
  • 交错s1 + t1 + s2 + t2 + s3 + t3 + ... 或者 t1 + s1 + t2 + s2 + t3 + s3 + ...

提示:a + b 意味着字符串 ab 连接。

 

示例 1:

输入:s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"
输出:
true

示例 2:

输入:s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc"
输出:
false

示例 3:

输入:s1 = "", s2 = "", s3 = ""
输出:
true

 

提示:

  • 0 <= s1.length, s2.length <= 100
  • 0 <= s3.length <= 200
  • s1s2、和 s3 都由小写英文字母组成
以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/78.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/78.exercises/solution.md" index 5480fc78d..02dd33c47 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/78.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/78.exercises/solution.md" @@ -1,6 +1,6 @@ # 单词搜索 -

给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false

单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

 

示例 1:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCCED"
输出:
true

示例 2:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "SEE"
输出:
true

示例 3:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCB"
输出:
false

 

提示:

  • m == board.length
  • n = board[i].length
  • 1 <= m, n <= 6
  • 1 <= word.length <= 15
  • boardword 仅由大小写英文字母组成

 

进阶:你可以使用搜索剪枝的技术来优化解决方案,使其在 board 更大的情况下可以更快解决问题?

+

给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false

单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

 

示例 1:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCCED"
输出:
true

示例 2:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "SEE"
输出:
true

示例 3:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCB"
输出:
false

 

提示:

  • m == board.length
  • n = board[i].length
  • 1 <= m, n <= 6
  • 1 <= word.length <= 15
  • boardword 仅由大小写英文字母组成

 

进阶:你可以使用搜索剪枝的技术来优化解决方案,使其在 board 更大的情况下可以更快解决问题?

以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/79.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/79.exercises/solution.md" index c3dfde0be..f17a85717 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/79.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/79.exercises/solution.md" @@ -14,13 +14,13 @@

 

示例 1:

- +
输入:root = [2,1,3]
 输出:true
 

示例 2:

- +
输入:root = [5,1,4,null,null,3,6]
 输出:false
 解释:根节点的值是 5 ,但是右子节点的值是 4 。
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/80.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/80.exercises/solution.md"
index 224a97f10..0d3a12cdb 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/80.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/80.exercises/solution.md"
@@ -1,6 +1,6 @@
 # 删除排序链表中的重复元素 II
 
-

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。

返回同样按升序排列的结果链表。

 

示例 1:

输入:head = [1,2,3,3,4,4,5]
输出:
[1,2,5]

示例 2:

输入:head = [1,1,1,2,3]
输出:
[2,3]

 

提示:

  • 链表中节点数目在范围 [0, 300]
  • -100 <= Node.val <= 100
  • 题目数据保证链表已经按升序排列
+

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。

返回同样按升序排列的结果链表。

 

示例 1:

输入:head = [1,2,3,3,4,4,5]
输出:
[1,2,5]

示例 2:

输入:head = [1,1,1,2,3]
输出:
[2,3]

 

提示:

  • 链表中节点数目在范围 [0, 300]
  • -100 <= Node.val <= 100
  • 题目数据保证链表已经按升序排列
以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/83.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/83.exercises/solution.md" index aae11a0f0..d99514e45 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/83.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/83.exercises/solution.md" @@ -1,6 +1,6 @@ # 螺旋矩阵 II -

给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix

 

示例 1:

输入:n = 3
输出:
[[1,2,3],[8,9,4],[7,6,5]]

示例 2:

输入:n = 1
输出:
[[1]]

 

提示:

  • 1 <= n <= 20
+

给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix

 

示例 1:

输入:n = 3
输出:
[[1,2,3],[8,9,4],[7,6,5]]

示例 2:

输入:n = 1
输出:
[[1]]

 

提示:

  • 1 <= n <= 20
以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/84.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/84.exercises/solution.md" index 0919fc2a6..9e7c67a7d 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/84.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/84.exercises/solution.md" @@ -1,6 +1,6 @@ # 两两交换链表中的节点 -

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。

你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

 

示例 1:

输入:head = [1,2,3,4]
输出:
[2,1,4,3]

示例 2:

输入:head = []
输出:
[]

示例 3:

输入:head = [1]
输出:
[1]

 

提示:

  • 链表中节点的数目在范围 [0, 100]
  • 0 <= Node.val <= 100

 

进阶:你能在不修改链表节点值的情况下解决这个问题吗?(也就是说,仅修改节点本身。)

+

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。

你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

 

示例 1:

输入:head = [1,2,3,4]
输出:
[2,1,4,3]

示例 2:

输入:head = []
输出:
[]

示例 3:

输入:head = [1]
输出:
[1]

 

提示:

  • 链表中节点的数目在范围 [0, 100]
  • 0 <= Node.val <= 100

 

进阶:你能在不修改链表节点值的情况下解决这个问题吗?(也就是说,仅修改节点本身。)

以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/86.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/86.exercises/solution.md" index 6e68ee522..412965990 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/86.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/86.exercises/solution.md" @@ -3,16 +3,16 @@

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。

现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?

-

网格中的障碍物和空位置分别用 10 来表示。

 

示例 1:

输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]
输出:
2
解释:
3x3 网格的正中间有一个障碍物。从左上角到右下角一共有 2 条不同的路径:
1. 向右 -> 向右 -> 向下 -> 向下
2. 向下 -> 向下 -> 向右 -> 向右

示例 2:

输入:obstacleGrid = [[0,1],[0,0]]
输出:
1

 

diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/87.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/87.exercises/solution.md" index cc9aa5af6..b68dcd4d7 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/87.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/87.exercises/solution.md" @@ -14,7 +14,7 @@

 

示例 1:

输入:board = 
     [["5","3",".",".","7",".",".",".","."]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/90.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/90.exercises/solution.md"
index 5469faf01..4085bc625 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/90.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/90.exercises/solution.md"
@@ -5,7 +5,7 @@
 

 

示例 1:

- +
 Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]
 Output: [3,9,20,null,null,15,7]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/94.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/94.exercises/solution.md"
index c53bd9dc0..3c5848d88 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/94.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/94.exercises/solution.md"
@@ -9,14 +9,14 @@
 

 

示例 1:

- +
 输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22
 输出:[[5,4,11,2],[5,8,4,5]]
 

示例 2:

- +
 输入:root = [1,2,3], targetSum = 5
 输出:[]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/95.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/95.exercises/solution.md"
index dbe68d297..b6a7254d7 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/95.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/95.exercises/solution.md"
@@ -10,7 +10,7 @@
 

 

示例 1:

- +
 输入:root = [1,2,5,3,4,null,6]
 输出:[1,null,2,null,3,null,4,null,5,null,6]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/96.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/96.exercises/solution.md"
index 403d34145..c304ffdb7 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/96.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/96.exercises/solution.md"
@@ -27,7 +27,7 @@ struct Node {
 
 

示例:

-

+

 输入:root = [1,2,3,4,5,6,7]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/97.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/97.exercises/solution.md"
index d37f6b23b..f0480fcae 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/1.cpp/97.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/1.cpp/97.exercises/solution.md"
@@ -27,7 +27,7 @@ struct Node {
 
 

示例:

-

+

 输入:root = [1,2,3,4,5,null,7]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/10.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/10.exercises/solution.md"
index 9b117f71f..b01d3dad5 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/2.java/10.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/10.exercises/solution.md"
@@ -11,7 +11,7 @@
         

示例 1:

+ src="https://img-service.csdnimg.cn/img_convert/afa8711beb3c6f3c54d039379f525fb7.jpeg" alt="">
输入:n = 3
 输出:[[1,null,2,null,3],[1,null,3,2],[2,1,3],[3,1,null,null,2],[3,2,null,1]]
     
diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/102.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/102.exercises/solution.md" index 0f1f99f00..264aec42c 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/102.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/102.exercises/solution.md" @@ -6,7 +6,7 @@

示例 1:

-

+

 输入: [1,2,3,null,5,null,4]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/12.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/12.exercises/solution.md"
index 474f9ab1e..b968d5d8b 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/2.java/12.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/12.exercises/solution.md"
@@ -7,7 +7,7 @@
     

 

示例 1:

-
输入:n = 3
 输出:5
diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/15.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/15.exercises/solution.md"
index 4bb94f2ad..0eeaa3483 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/2.java/15.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/15.exercises/solution.md"
@@ -32,7 +32,7 @@
 
     

例如,数字字符串 "3322251" 的描述如下图:

diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/16.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/16.exercises/solution.md" index 3556c4f6a..2f89083ad 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/16.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/16.exercises/solution.md" @@ -1,6 +1,6 @@ # 旋转链表 -

给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。

 

示例 1:

输入:head = [1,2,3,4,5], k = 2
输出:
[4,5,1,2,3]

示例 2:

输入:head = [0,1,2], k = 4
输出:
[2,0,1]

 

提示:

  • 链表中节点的数目在范围 [0, 500]
  • -100 <= Node.val <= 100
  • 0 <= k <= 2 * 109
+

给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。

 

示例 1:

输入:head = [1,2,3,4,5], k = 2
输出:
[4,5,1,2,3]

示例 2:

输入:head = [0,1,2], k = 4
输出:
[2,0,1]

 

提示:

  • 链表中节点的数目在范围 [0, 500]
  • -100 <= Node.val <= 100
  • 0 <= k <= 2 * 109
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/19.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/19.exercises/solution.md" index ede72f621..ffc8d6b51 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/19.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/19.exercises/solution.md" @@ -1,6 +1,6 @@ # 旋转图像 -

给定一个 × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。

你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

 

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:
[[7,4,1],[8,5,2],[9,6,3]]

示例 2:

输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
输出:
[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]

示例 3:

输入:matrix = [[1]]
输出:
[[1]]

示例 4:

输入:matrix = [[1,2],[3,4]]
输出:
[[3,1],[4,2]]

 

提示:

  • matrix.length == n
  • matrix[i].length == n
  • 1 <= n <= 20
  • -1000 <= matrix[i][j] <= 1000
+

给定一个 × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。

你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

 

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:
[[7,4,1],[8,5,2],[9,6,3]]

示例 2:

输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
输出:
[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]

示例 3:

输入:matrix = [[1]]
输出:
[[1]]

示例 4:

输入:matrix = [[1,2],[3,4]]
输出:
[[3,1],[4,2]]

 

提示:

  • matrix.length == n
  • matrix[i].length == n
  • 1 <= n <= 20
  • -1000 <= matrix[i][j] <= 1000
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/20.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/20.exercises/solution.md" index 4cdb67df8..62e6976c5 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/20.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/20.exercises/solution.md" @@ -1,6 +1,6 @@ # 盛最多水的容器 -

给你 n 个非负整数 a1,a2,...,an每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai)(i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

说明:你不能倾斜容器。

 

示例 1:

输入:[1,8,6,2,5,4,8,3,7]
输出:
49
解释:
图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。

示例 2:

输入:height = [1,1]
输出:
1

示例 3:

输入:height = [4,3,2,1,4]
输出:
16

示例 4:

输入:height = [1,2,1]
输出:
2

 

提示:

  • n = height.length
  • 2 <= n <= 3 * 104
  • 0 <= height[i] <= 3 * 104
+

给你 n 个非负整数 a1,a2,...,an每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai)(i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

说明:你不能倾斜容器。

 

示例 1:

输入:[1,8,6,2,5,4,8,3,7]
输出:
49
解释:
图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。

示例 2:

输入:height = [1,1]
输出:
1

示例 3:

输入:height = [4,3,2,1,4]
输出:
16

示例 4:

输入:height = [1,2,1]
输出:
2

 

提示:

  • n = height.length
  • 2 <= n <= 3 * 104
  • 0 <= height[i] <= 3 * 104
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/26.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/26.exercises/solution.md" index 37d5cfd58..4030a358f 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/26.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/26.exercises/solution.md" @@ -1,6 +1,6 @@ # 两数相加 -

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

 

示例 1:

输入:l1 = [2,4,3], l2 = [5,6,4]
输出:
[7,0,8]
解释:
342 + 465 = 807.

示例 2:

输入:l1 = [0], l2 = [0]
输出:
[0]

示例 3:

输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]
输出:
[8,9,9,9,0,0,0,1]

 

提示:

  • 每个链表中的节点数在范围 [1, 100]
  • 0 <= Node.val <= 9
  • 题目数据保证列表表示的数字不含前导零
+

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

 

示例 1:

输入:l1 = [2,4,3], l2 = [5,6,4]
输出:
[7,0,8]
解释:
342 + 465 = 807.

示例 2:

输入:l1 = [0], l2 = [0]
输出:
[0]

示例 3:

输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]
输出:
[8,9,9,9,0,0,0,1]

 

提示:

  • 每个链表中的节点数在范围 [1, 100]
  • 0 <= Node.val <= 9
  • 题目数据保证列表表示的数字不含前导零
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/27.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/27.exercises/solution.md" index 05aca400d..6e6c97ccd 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/27.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/27.exercises/solution.md" @@ -1,6 +1,6 @@ # 分隔链表 -

给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。

你应当 保留 两个分区中每个节点的初始相对位置。

 

示例 1:

输入:head = [1,4,3,2,5,2], x = 3
输出
:[1,2,2,4,3,5]

示例 2:

输入:head = [2,1], x = 2
输出
:[1,2]

 

提示:

  • 链表中节点的数目在范围 [0, 200]
  • -100 <= Node.val <= 100
  • -200 <= x <= 200
+

给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。

你应当 保留 两个分区中每个节点的初始相对位置。

 

示例 1:

输入:head = [1,4,3,2,5,2], x = 3
输出
:[1,2,2,4,3,5]

示例 2:

输入:head = [2,1], x = 2
输出
:[1,2]

 

提示:

  • 链表中节点的数目在范围 [0, 200]
  • -100 <= Node.val <= 100
  • -200 <= x <= 200
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/33.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/33.exercises/solution.md" index 2d3308831..b8b5cfa68 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/33.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/33.exercises/solution.md" @@ -1,6 +1,6 @@ # 螺旋矩阵 -

给你一个 mn 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。

 

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:
[1,2,3,6,9,8,7,4,5]

示例 2:

输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
输出:
[1,2,3,4,8,12,11,10,9,5,6,7]

 

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 10
  • -100 <= matrix[i][j] <= 100
+

给你一个 mn 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。

 

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:
[1,2,3,6,9,8,7,4,5]

示例 2:

输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
输出:
[1,2,3,4,8,12,11,10,9,5,6,7]

 

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 10
  • -100 <= matrix[i][j] <= 100
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/36.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/36.exercises/solution.md" index f7994d804..98e1f9105 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/36.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/36.exercises/solution.md" @@ -1,6 +1,6 @@ # 搜索二维矩阵 -

编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:

  • 每行中的整数从左到右按升序排列。
  • 每行的第一个整数大于前一行的最后一个整数。

 

示例 1:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
输出:
true

示例 2:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
输出:
false

 

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 100
  • -104 <= matrix[i][j], target <= 104
+

编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:

  • 每行中的整数从左到右按升序排列。
  • 每行的第一个整数大于前一行的最后一个整数。

 

示例 1:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
输出:
true

示例 2:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
输出:
false

 

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 100
  • -104 <= matrix[i][j], target <= 104
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/39.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/39.exercises/solution.md" index 5782ce2cb..6e07b2a0e 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/39.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/39.exercises/solution.md" @@ -1,6 +1,6 @@ # 矩阵置零 -

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法

进阶:

  • 一个直观的解决方案是使用  O(mn) 的额外空间,但这并不是一个好的解决方案。
  • 一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。
  • 你能想出一个仅使用常量空间的解决方案吗?

 

示例 1:

输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
输出:
[[1,0,1],[0,0,0],[1,0,1]]

示例 2:

输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
输出:
[[0,0,0,0],[0,4,5,0],[0,3,1,0]]

 

提示:

  • m == matrix.length
  • n == matrix[0].length
  • 1 <= m, n <= 200
  • -231 <= matrix[i][j] <= 231 - 1
+

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法

进阶:

  • 一个直观的解决方案是使用  O(mn) 的额外空间,但这并不是一个好的解决方案。
  • 一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。
  • 你能想出一个仅使用常量空间的解决方案吗?

 

示例 1:

输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
输出:
[[1,0,1],[0,0,0],[1,0,1]]

示例 2:

输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
输出:
[[0,0,0,0],[0,4,5,0],[0,3,1,0]]

 

提示:

  • m == matrix.length
  • n == matrix[0].length
  • 1 <= m, n <= 200
  • -231 <= matrix[i][j] <= 231 - 1
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/42.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/42.exercises/solution.md" index f29396a8c..9651d6269 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/42.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/42.exercises/solution.md" @@ -1,6 +1,6 @@ # 反转链表 II -给你单链表的头指针 head 和两个整数 leftright ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表

 

示例 1:

输入:head = [1,2,3,4,5], left = 2, right = 4
输出:
[1,4,3,2,5]

示例 2:

输入:head = [5], left = 1, right = 1
输出:
[5]

 

提示:

  • 链表中节点数目为 n
  • 1 <= n <= 500
  • -500 <= Node.val <= 500
  • 1 <= left <= right <= n

 

进阶: 你可以使用一趟扫描完成反转吗?

+给你单链表的头指针 head 和两个整数 leftright ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表

 

示例 1:

输入:head = [1,2,3,4,5], left = 2, right = 4
输出:
[1,4,3,2,5]

示例 2:

输入:head = [5], left = 1, right = 1
输出:
[5]

 

提示:

  • 链表中节点数目为 n
  • 1 <= n <= 500
  • -500 <= Node.val <= 500
  • 1 <= left <= right <= n

 

进阶: 你可以使用一趟扫描完成反转吗?

## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/43.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/43.exercises/solution.md" index 524f0965a..684b9af0a 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/43.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/43.exercises/solution.md" @@ -1,6 +1,6 @@ # 最小路径和 -

给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

说明:每次只能向下或者向右移动一步。

 

示例 1:

输入:grid = [[1,3,1],[1,5,1],[4,2,1]]
输出:
7
解释:
因为路径 1→3→1→1→1 的总和最小。

示例 2:

输入:grid = [[1,2,3],[4,5,6]]
输出:
12

 

提示:

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 200
  • 0 <= grid[i][j] <= 100
+

给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

说明:每次只能向下或者向右移动一步。

 

示例 1:

输入:grid = [[1,3,1],[1,5,1],[4,2,1]]
输出:
7
解释:
因为路径 1→3→1→1→1 的总和最小。

示例 2:

输入:grid = [[1,2,3],[4,5,6]]
输出:
12

 

提示:

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 200
  • 0 <= grid[i][j] <= 100
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/44.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/44.exercises/solution.md" index 28563a1a1..b18c594a6 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/44.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/44.exercises/solution.md" @@ -1,6 +1,6 @@ # 删除链表的倒数第 N 个结点 -

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

进阶:你能尝试使用一趟扫描实现吗?

 

示例 1:

输入:head = [1,2,3,4,5], n = 2
输出:
[1,2,3,5]

示例 2:

输入:head = [1], n = 1
输出:
[]

示例 3:

输入:head = [1,2], n = 1
输出:
[1]

 

提示:

  • 链表中结点的数目为 sz
  • 1 <= sz <= 30
  • 0 <= Node.val <= 100
  • 1 <= n <= sz
+

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

进阶:你能尝试使用一趟扫描实现吗?

 

示例 1:

输入:head = [1,2,3,4,5], n = 2
输出:
[1,2,3,5]

示例 2:

输入:head = [1], n = 1
输出:
[]

示例 3:

输入:head = [1,2], n = 1
输出:
[1]

 

提示:

  • 链表中结点的数目为 sz
  • 1 <= sz <= 30
  • 0 <= Node.val <= 100
  • 1 <= n <= sz
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/49.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/49.exercises/solution.md" index 5b10137a9..bf08e616d 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/49.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/49.exercises/solution.md" @@ -1,6 +1,6 @@ # 交错字符串 -

给定三个字符串 s1s2s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。

两个字符串 st 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:

  • s = s1 + s2 + ... + sn
  • t = t1 + t2 + ... + tm
  • |n - m| <= 1
  • 交错s1 + t1 + s2 + t2 + s3 + t3 + ... 或者 t1 + s1 + t2 + s2 + t3 + s3 + ...

提示:a + b 意味着字符串 ab 连接。

 

示例 1:

输入:s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"
输出:
true

示例 2:

输入:s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc"
输出:
false

示例 3:

输入:s1 = "", s2 = "", s3 = ""
输出:
true

 

提示:

  • 0 <= s1.length, s2.length <= 100
  • 0 <= s3.length <= 200
  • s1s2、和 s3 都由小写英文字母组成
+

给定三个字符串 s1s2s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。

两个字符串 st 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:

  • s = s1 + s2 + ... + sn
  • t = t1 + t2 + ... + tm
  • |n - m| <= 1
  • 交错s1 + t1 + s2 + t2 + s3 + t3 + ... 或者 t1 + s1 + t2 + s2 + t3 + s3 + ...

提示:a + b 意味着字符串 ab 连接。

 

示例 1:

输入:s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"
输出:
true

示例 2:

输入:s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc"
输出:
false

示例 3:

输入:s1 = "", s2 = "", s3 = ""
输出:
true

 

提示:

  • 0 <= s1.length, s2.length <= 100
  • 0 <= s3.length <= 200
  • s1s2、和 s3 都由小写英文字母组成
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/55.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/55.exercises/solution.md" index a20d0041a..0a61804d6 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/55.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/55.exercises/solution.md" @@ -1,6 +1,6 @@ # 单词搜索 -

给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false

单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

 

示例 1:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCCED"
输出:
true

示例 2:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "SEE"
输出:
true

示例 3:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCB"
输出:
false

 

提示:

  • m == board.length
  • n = board[i].length
  • 1 <= m, n <= 6
  • 1 <= word.length <= 15
  • boardword 仅由大小写英文字母组成

 

进阶:你可以使用搜索剪枝的技术来优化解决方案,使其在 board 更大的情况下可以更快解决问题?

+

给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false

单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

 

示例 1:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCCED"
输出:
true

示例 2:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "SEE"
输出:
true

示例 3:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCB"
输出:
false

 

提示:

  • m == board.length
  • n = board[i].length
  • 1 <= m, n <= 6
  • 1 <= word.length <= 15
  • boardword 仅由大小写英文字母组成

 

进阶:你可以使用搜索剪枝的技术来优化解决方案,使其在 board 更大的情况下可以更快解决问题?

## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/56.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/56.exercises/solution.md" index fbed40704..56a58d301 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/56.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/56.exercises/solution.md" @@ -14,13 +14,13 @@

 

示例 1:

- +
输入:root = [2,1,3]
 输出:true
 

示例 2:

- +
输入:root = [5,1,4,null,null,3,6]
 输出:false
 解释:根节点的值是 5 ,但是右子节点的值是 4 。
diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/57.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/57.exercises/solution.md"
index 85d2e3daf..44d33467b 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/2.java/57.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/57.exercises/solution.md"
@@ -1,6 +1,6 @@
 # 删除排序链表中的重复元素 II
 
-

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。

返回同样按升序排列的结果链表。

 

示例 1:

输入:head = [1,2,3,3,4,4,5]
输出:
[1,2,5]

示例 2:

输入:head = [1,1,1,2,3]
输出:
[2,3]

 

提示:

  • 链表中节点数目在范围 [0, 300]
  • -100 <= Node.val <= 100
  • 题目数据保证链表已经按升序排列
+

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。

返回同样按升序排列的结果链表。

 

示例 1:

输入:head = [1,2,3,3,4,4,5]
输出:
[1,2,5]

示例 2:

输入:head = [1,1,1,2,3]
输出:
[2,3]

 

提示:

  • 链表中节点数目在范围 [0, 300]
  • -100 <= Node.val <= 100
  • 题目数据保证链表已经按升序排列
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/6.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/6.exercises/solution.md" index 6fda3b8f2..5216d9c36 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/6.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/6.exercises/solution.md" @@ -1,6 +1,6 @@ # 恢复二叉搜索树 -

给你二叉搜索树的根节点 root ,该树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。

进阶:使用 O(n) 空间复杂度的解法很容易实现。你能想出一个只使用常数空间的解决方案吗?

 

示例 1:

输入:root = [1,3,null,null,2]
输出:
[3,1,null,null,2]
解释:
3 不能是 1 左孩子,因为 3 > 1 。交换 1 和 3 使二叉搜索树有效。

示例 2:

输入:root = [3,1,4,null,null,2]
输出:
[2,1,4,null,null,3]
解释:
2 不能在 3 的右子树中,因为 2 < 3 。交换 2 和 3 使二叉搜索树有效。

 

提示:

  • 树上节点的数目在范围 [2, 1000]
  • -231 <= Node.val <= 231 - 1
+

给你二叉搜索树的根节点 root ,该树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。

进阶:使用 O(n) 空间复杂度的解法很容易实现。你能想出一个只使用常数空间的解决方案吗?

 

示例 1:

输入:root = [1,3,null,null,2]
输出:
[3,1,null,null,2]
解释:
3 不能是 1 左孩子,因为 3 > 1 。交换 1 和 3 使二叉搜索树有效。

示例 2:

输入:root = [3,1,4,null,null,2]
输出:
[2,1,4,null,null,3]
解释:
2 不能在 3 的右子树中,因为 2 < 3 。交换 2 和 3 使二叉搜索树有效。

 

提示:

  • 树上节点的数目在范围 [2, 1000]
  • -231 <= Node.val <= 231 - 1
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/60.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/60.exercises/solution.md" index 6a4124332..00e83e415 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/60.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/60.exercises/solution.md" @@ -1,6 +1,6 @@ # 螺旋矩阵 II -

给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix

 

示例 1:

输入:n = 3
输出:
[[1,2,3],[8,9,4],[7,6,5]]

示例 2:

输入:n = 1
输出:
[[1]]

 

提示:

  • 1 <= n <= 20
+

给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix

 

示例 1:

输入:n = 3
输出:
[[1,2,3],[8,9,4],[7,6,5]]

示例 2:

输入:n = 1
输出:
[[1]]

 

提示:

  • 1 <= n <= 20
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/61.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/61.exercises/solution.md" index 7d092db76..67edc708f 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/61.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/61.exercises/solution.md" @@ -1,6 +1,6 @@ # 两两交换链表中的节点 -

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。

你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

 

示例 1:

输入:head = [1,2,3,4]
输出:
[2,1,4,3]

示例 2:

输入:head = []
输出:
[]

示例 3:

输入:head = [1]
输出:
[1]

 

提示:

  • 链表中节点的数目在范围 [0, 100]
  • 0 <= Node.val <= 100

 

进阶:你能在不修改链表节点值的情况下解决这个问题吗?(也就是说,仅修改节点本身。)

+

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。

你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

 

示例 1:

输入:head = [1,2,3,4]
输出:
[2,1,4,3]

示例 2:

输入:head = []
输出:
[]

示例 3:

输入:head = [1]
输出:
[1]

 

提示:

  • 链表中节点的数目在范围 [0, 100]
  • 0 <= Node.val <= 100

 

进阶:你能在不修改链表节点值的情况下解决这个问题吗?(也就是说,仅修改节点本身。)

## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/63.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/63.exercises/solution.md" index ff9c5c408..3bc21bb07 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/63.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/63.exercises/solution.md" @@ -3,16 +3,16 @@

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。

现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?

-

网格中的障碍物和空位置分别用 10 来表示。

 

示例 1:

输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]
输出:
2
解释:
3x3 网格的正中间有一个障碍物。从左上角到右下角一共有 2 条不同的路径:
1. 向右 -> 向右 -> 向下 -> 向下
2. 向下 -> 向下 -> 向右 -> 向右

示例 2:

输入:obstacleGrid = [[0,1],[0,0]]
输出:
1

 

diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/64.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/64.exercises/solution.md" index 9bfba34f6..78b0937aa 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/64.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/64.exercises/solution.md" @@ -14,7 +14,7 @@

 

示例 1:

输入:board = 
     [["5","3",".",".","7",".",".",".","."]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/67.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/67.exercises/solution.md"
index 4b44f326f..1170fb62b 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/2.java/67.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/67.exercises/solution.md"
@@ -5,7 +5,7 @@
 

 

示例 1:

- +
 Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]
 Output: [3,9,20,null,null,15,7]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/71.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/71.exercises/solution.md"
index f6ae8e888..a21e9e337 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/2.java/71.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/71.exercises/solution.md"
@@ -9,14 +9,14 @@
 

 

示例 1:

- +
 输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22
 输出:[[5,4,11,2],[5,8,4,5]]
 

示例 2:

- +
 输入:root = [1,2,3], targetSum = 5
 输出:[]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/72.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/72.exercises/solution.md"
index f97441f21..37ed92eac 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/2.java/72.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/72.exercises/solution.md"
@@ -10,7 +10,7 @@
 

 

示例 1:

- +
 输入:root = [1,2,5,3,4,null,6]
 输出:[1,null,2,null,3,null,4,null,5,null,6]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/73.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/73.exercises/solution.md"
index 8f0423e45..f60bcc68a 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/2.java/73.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/73.exercises/solution.md"
@@ -27,7 +27,7 @@ struct Node {
 
 

示例:

-

+

 输入:root = [1,2,3,4,5,6,7]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/74.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/74.exercises/solution.md"
index ae2d602a8..378f0b494 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/2.java/74.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/74.exercises/solution.md"
@@ -27,7 +27,7 @@ struct Node {
 
 

示例:

-

+

 输入:root = [1,2,3,4,5,null,7]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/77.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/77.exercises/solution.md"
index c65cee1f9..aa7e938e6 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/2.java/77.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/77.exercises/solution.md"
@@ -16,7 +16,7 @@
 

 

示例 1:

- +
 输入:root = [1,2,3]
 输出:25
@@ -26,7 +26,7 @@
 因此,数字总和 = 12 + 13 = 25

示例 2:

- +
 输入:root = [4,9,0,5,1]
 输出:1026
diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/78.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/78.exercises/solution.md"
index 3efc558a4..73ba64be2 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/2.java/78.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/78.exercises/solution.md"
@@ -6,7 +6,7 @@
 

 

示例 1:

- +
 输入:board = [["X","X","X","X"],["X","O","O","X"],["X","X","O","X"],["X","O","X","X"]]
 输出:[["X","X","X","X"],["X","X","X","X"],["X","X","X","X"],["X","O","X","X"]]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/8.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/8.exercises/solution.md"
index 170cc8ffa..20d9aba4b 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/2.java/8.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/8.exercises/solution.md"
@@ -5,7 +5,7 @@
 

问总共有多少条不同的路径?

 

示例 1:

+ src="https://img-service.csdnimg.cn/img_convert/099169dc43ebe3d42afb948803f38eda.png" />
输入:m = 3, n = 7
输出:
28

示例 2:

输入:m = 3, n = 2
输出:
3
解释:
从左上角开始,总共有 3 条路径可以到达右下角。
1. 向右 -> 向下 -> 向下
2. 向下 -> 向下 -> 向右
3. 向下 -> 向右 -> 向下
diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/80.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/80.exercises/solution.md" index b38073a29..871de3064 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/80.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/80.exercises/solution.md" @@ -23,7 +23,7 @@

示例 1:

-

+

输入:adjList = [[2,4],[1,3],[2,4],[1,3]]
 输出:[[2,4],[1,3],[2,4],[1,3]]
@@ -37,7 +37,7 @@
 
 

示例 2:

-

+

输入:adjList = [[]]
 输出:[[]]
@@ -53,7 +53,7 @@
 
 

示例 4:

-

+

输入:adjList = [[2],[1]]
 输出:[[2],[1]]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/83.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/83.exercises/solution.md" index eda011dcc..efa52728a 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/83.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/83.exercises/solution.md" @@ -21,7 +21,7 @@

示例 1:

-

+

 输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]
@@ -30,7 +30,7 @@
 
 

示例 2:

-

+

 输入:head = [[1,1],[2,1]]
@@ -39,7 +39,7 @@
 
 

示例 3:

-

+

 输入:head = [[3,null],[3,0],[3,null]]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/85.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/85.exercises/solution.md"
index 40cd62288..b35428e2c 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/2.java/85.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/85.exercises/solution.md"
@@ -16,7 +16,7 @@
 
 

示例 1:

-

+

 输入:head = [3,2,0,-4], pos = 1
@@ -26,7 +26,7 @@
 
 

示例 2:

-

+

 输入:head = [1,2], pos = 0
@@ -36,7 +36,7 @@
 
 

示例 3:

-

+

 输入:head = [1], pos = -1
diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/86.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/86.exercises/solution.md"
index 7bbd3f3dd..c82baf268 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/2.java/86.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/86.exercises/solution.md"
@@ -13,7 +13,7 @@
 
 

示例 1:

-

+

 输入: head = [1,2,3,4]
@@ -21,7 +21,7 @@
 
 

示例 2:

-

+

 输入: head = [1,2,3,4,5]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/88.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/88.exercises/solution.md"
index a1c627ff7..c50925eaa 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/2.java/88.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/88.exercises/solution.md"
@@ -2,7 +2,7 @@
 
 

对链表进行插入排序。

-


+


插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。
每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。

diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/89.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/89.exercises/solution.md" index bb862a6a5..77e447ffc 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/89.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/89.exercises/solution.md" @@ -11,14 +11,14 @@

 

示例 1:

- +
 输入:head = [4,2,1,3]
 输出:[1,2,3,4]
 

示例 2:

- +
 输入:head = [-1,5,3,4,0]
 输出:[-1,0,3,4,5]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/9.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/9.exercises/solution.md"
index db087f25b..bee32c5b6 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/2.java/9.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/9.exercises/solution.md"
@@ -1,6 +1,6 @@
 # 电话号码的字母组合
 
-

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

 

示例 1:

输入:digits = "23"
输出:
["ad","ae","af","bd","be","bf","cd","ce","cf"]

示例 2:

输入:digits = ""
输出:
[]

示例 3:

输入:digits = "2"
输出:
["a","b","c"]

 

提示:

  • 0 <= digits.length <= 4
  • digits[i] 是范围 ['2', '9'] 的一个数字。
+

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

 

示例 1:

输入:digits = "23"
输出:
["ad","ae","af","bd","be","bf","cd","ce","cf"]

示例 2:

输入:digits = ""
输出:
[]

示例 3:

输入:digits = "2"
输出:
["a","b","c"]

 

提示:

  • 0 <= digits.length <= 4
  • digits[i] 是范围 ['2', '9'] 的一个数字。
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/2.java/97.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/2.java/97.exercises/solution.md" index 807e519ac..fc14666d0 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/2.java/97.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/2.java/97.exercises/solution.md" @@ -18,7 +18,7 @@

 

示例:

- +
 输入
 ["BSTIterator", "next", "next", "hasNext", "next", "hasNext", "next", "hasNext", "next", "hasNext"]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/101.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/101.exercises/solution.md"
index 443cb4da3..b766514a3 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/3.python/101.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/101.exercises/solution.md"
@@ -6,7 +6,7 @@
 
 

示例 1:

-

+

 输入: [1,2,3,null,5,null,4]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/11.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/11.exercises/solution.md"
index 161b2eff3..c80cf2a0c 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/3.python/11.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/11.exercises/solution.md"
@@ -7,7 +7,7 @@
     

 

示例 1:

-
输入:n = 3
 输出:5
diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/14.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/14.exercises/solution.md"
index f947c89be..207d72bb1 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/3.python/14.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/14.exercises/solution.md"
@@ -32,7 +32,7 @@
 
     

例如,数字字符串 "3322251" 的描述如下图:

diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/15.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/15.exercises/solution.md" index e21839126..b9061c63b 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/15.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/15.exercises/solution.md" @@ -1,6 +1,6 @@ # 旋转链表 -

给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。

 

示例 1:

输入:head = [1,2,3,4,5], k = 2
输出:
[4,5,1,2,3]

示例 2:

输入:head = [0,1,2], k = 4
输出:
[2,0,1]

 

提示:

  • 链表中节点的数目在范围 [0, 500]
  • -100 <= Node.val <= 100
  • 0 <= k <= 2 * 109
+

给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。

 

示例 1:

输入:head = [1,2,3,4,5], k = 2
输出:
[4,5,1,2,3]

示例 2:

输入:head = [0,1,2], k = 4
输出:
[2,0,1]

 

提示:

  • 链表中节点的数目在范围 [0, 500]
  • -100 <= Node.val <= 100
  • 0 <= k <= 2 * 109
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/18.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/18.exercises/solution.md" index 744918da7..9ed4b6233 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/18.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/18.exercises/solution.md" @@ -1,6 +1,6 @@ # 旋转图像 -

给定一个 × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。

你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

 

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:
[[7,4,1],[8,5,2],[9,6,3]]

示例 2:

输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
输出:
[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]

示例 3:

输入:matrix = [[1]]
输出:
[[1]]

示例 4:

输入:matrix = [[1,2],[3,4]]
输出:
[[3,1],[4,2]]

 

提示:

  • matrix.length == n
  • matrix[i].length == n
  • 1 <= n <= 20
  • -1000 <= matrix[i][j] <= 1000
+

给定一个 × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。

你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

 

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:
[[7,4,1],[8,5,2],[9,6,3]]

示例 2:

输入:matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
输出:
[[15,13,2,5],[14,3,4,1],[12,6,8,9],[16,7,10,11]]

示例 3:

输入:matrix = [[1]]
输出:
[[1]]

示例 4:

输入:matrix = [[1,2],[3,4]]
输出:
[[3,1],[4,2]]

 

提示:

  • matrix.length == n
  • matrix[i].length == n
  • 1 <= n <= 20
  • -1000 <= matrix[i][j] <= 1000
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/19.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/19.exercises/solution.md" index a7a762d86..d2c3c80c4 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/19.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/19.exercises/solution.md" @@ -1,6 +1,6 @@ # 盛最多水的容器 -

给你 n 个非负整数 a1,a2,...,an每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai)(i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

说明:你不能倾斜容器。

 

示例 1:

输入:[1,8,6,2,5,4,8,3,7]
输出:
49
解释:
图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。

示例 2:

输入:height = [1,1]
输出:
1

示例 3:

输入:height = [4,3,2,1,4]
输出:
16

示例 4:

输入:height = [1,2,1]
输出:
2

 

提示:

  • n = height.length
  • 2 <= n <= 3 * 104
  • 0 <= height[i] <= 3 * 104
+

给你 n 个非负整数 a1,a2,...,an每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai)(i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

说明:你不能倾斜容器。

 

示例 1:

输入:[1,8,6,2,5,4,8,3,7]
输出:
49
解释:
图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。

示例 2:

输入:height = [1,1]
输出:
1

示例 3:

输入:height = [4,3,2,1,4]
输出:
16

示例 4:

输入:height = [1,2,1]
输出:
2

 

提示:

  • n = height.length
  • 2 <= n <= 3 * 104
  • 0 <= height[i] <= 3 * 104
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/25.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/25.exercises/solution.md" index 10e1c2927..dad472025 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/25.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/25.exercises/solution.md" @@ -1,6 +1,6 @@ # 两数相加 -

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

 

示例 1:

输入:l1 = [2,4,3], l2 = [5,6,4]
输出:
[7,0,8]
解释:
342 + 465 = 807.

示例 2:

输入:l1 = [0], l2 = [0]
输出:
[0]

示例 3:

输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]
输出:
[8,9,9,9,0,0,0,1]

 

提示:

  • 每个链表中的节点数在范围 [1, 100]
  • 0 <= Node.val <= 9
  • 题目数据保证列表表示的数字不含前导零
+

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。

请你将两个数相加,并以相同形式返回一个表示和的链表。

你可以假设除了数字 0 之外,这两个数都不会以 0 开头。

 

示例 1:

输入:l1 = [2,4,3], l2 = [5,6,4]
输出:
[7,0,8]
解释:
342 + 465 = 807.

示例 2:

输入:l1 = [0], l2 = [0]
输出:
[0]

示例 3:

输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]
输出:
[8,9,9,9,0,0,0,1]

 

提示:

  • 每个链表中的节点数在范围 [1, 100]
  • 0 <= Node.val <= 9
  • 题目数据保证列表表示的数字不含前导零
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/26.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/26.exercises/solution.md" index 64fb4a9ed..142d50c7c 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/26.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/26.exercises/solution.md" @@ -1,6 +1,6 @@ # 分隔链表 -

给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。

你应当 保留 两个分区中每个节点的初始相对位置。

 

示例 1:

输入:head = [1,4,3,2,5,2], x = 3
输出
:[1,2,2,4,3,5]

示例 2:

输入:head = [2,1], x = 2
输出
:[1,2]

 

提示:

  • 链表中节点的数目在范围 [0, 200]
  • -100 <= Node.val <= 100
  • -200 <= x <= 200
+

给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。

你应当 保留 两个分区中每个节点的初始相对位置。

 

示例 1:

输入:head = [1,4,3,2,5,2], x = 3
输出
:[1,2,2,4,3,5]

示例 2:

输入:head = [2,1], x = 2
输出
:[1,2]

 

提示:

  • 链表中节点的数目在范围 [0, 200]
  • -100 <= Node.val <= 100
  • -200 <= x <= 200
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/32.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/32.exercises/solution.md" index 26841d88f..f4b00dc04 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/32.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/32.exercises/solution.md" @@ -1,6 +1,6 @@ # 螺旋矩阵 -

给你一个 mn 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。

 

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:
[1,2,3,6,9,8,7,4,5]

示例 2:

输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
输出:
[1,2,3,4,8,12,11,10,9,5,6,7]

 

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 10
  • -100 <= matrix[i][j] <= 100
+

给你一个 mn 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。

 

示例 1:

输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出:
[1,2,3,6,9,8,7,4,5]

示例 2:

输入:matrix = [[1,2,3,4],[5,6,7,8],[9,10,11,12]]
输出:
[1,2,3,4,8,12,11,10,9,5,6,7]

 

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 10
  • -100 <= matrix[i][j] <= 100
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/35.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/35.exercises/solution.md" index 99bf19b09..90b42a926 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/35.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/35.exercises/solution.md" @@ -1,6 +1,6 @@ # 搜索二维矩阵 -

编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:

  • 每行中的整数从左到右按升序排列。
  • 每行的第一个整数大于前一行的最后一个整数。

 

示例 1:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
输出:
true

示例 2:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
输出:
false

 

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 100
  • -104 <= matrix[i][j], target <= 104
+

编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性:

  • 每行中的整数从左到右按升序排列。
  • 每行的第一个整数大于前一行的最后一个整数。

 

示例 1:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
输出:
true

示例 2:

输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
输出:
false

 

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 100
  • -104 <= matrix[i][j], target <= 104
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/38.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/38.exercises/solution.md" index 880dfe359..3bb75c438 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/38.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/38.exercises/solution.md" @@ -1,6 +1,6 @@ # 矩阵置零 -

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法

进阶:

  • 一个直观的解决方案是使用  O(mn) 的额外空间,但这并不是一个好的解决方案。
  • 一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。
  • 你能想出一个仅使用常量空间的解决方案吗?

 

示例 1:

输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
输出:
[[1,0,1],[0,0,0],[1,0,1]]

示例 2:

输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
输出:
[[0,0,0,0],[0,4,5,0],[0,3,1,0]]

 

提示:

  • m == matrix.length
  • n == matrix[0].length
  • 1 <= m, n <= 200
  • -231 <= matrix[i][j] <= 231 - 1
+

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法

进阶:

  • 一个直观的解决方案是使用  O(mn) 的额外空间,但这并不是一个好的解决方案。
  • 一个简单的改进方案是使用 O(m + n) 的额外空间,但这仍然不是最好的解决方案。
  • 你能想出一个仅使用常量空间的解决方案吗?

 

示例 1:

输入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
输出:
[[1,0,1],[0,0,0],[1,0,1]]

示例 2:

输入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
输出:
[[0,0,0,0],[0,4,5,0],[0,3,1,0]]

 

提示:

  • m == matrix.length
  • n == matrix[0].length
  • 1 <= m, n <= 200
  • -231 <= matrix[i][j] <= 231 - 1
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/41.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/41.exercises/solution.md" index b9ae47a3c..0f92275dd 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/41.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/41.exercises/solution.md" @@ -1,6 +1,6 @@ # 反转链表 II -给你单链表的头指针 head 和两个整数 leftright ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表

 

示例 1:

输入:head = [1,2,3,4,5], left = 2, right = 4
输出:
[1,4,3,2,5]

示例 2:

输入:head = [5], left = 1, right = 1
输出:
[5]

 

提示:

  • 链表中节点数目为 n
  • 1 <= n <= 500
  • -500 <= Node.val <= 500
  • 1 <= left <= right <= n

 

进阶: 你可以使用一趟扫描完成反转吗?

+给你单链表的头指针 head 和两个整数 leftright ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表

 

示例 1:

输入:head = [1,2,3,4,5], left = 2, right = 4
输出:
[1,4,3,2,5]

示例 2:

输入:head = [5], left = 1, right = 1
输出:
[5]

 

提示:

  • 链表中节点数目为 n
  • 1 <= n <= 500
  • -500 <= Node.val <= 500
  • 1 <= left <= right <= n

 

进阶: 你可以使用一趟扫描完成反转吗?

## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/42.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/42.exercises/solution.md" index a8135c320..7f975a051 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/42.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/42.exercises/solution.md" @@ -1,6 +1,6 @@ # 最小路径和 -

给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

说明:每次只能向下或者向右移动一步。

 

示例 1:

输入:grid = [[1,3,1],[1,5,1],[4,2,1]]
输出:
7
解释:
因为路径 1→3→1→1→1 的总和最小。

示例 2:

输入:grid = [[1,2,3],[4,5,6]]
输出:
12

 

提示:

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 200
  • 0 <= grid[i][j] <= 100
+

给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

说明:每次只能向下或者向右移动一步。

 

示例 1:

输入:grid = [[1,3,1],[1,5,1],[4,2,1]]
输出:
7
解释:
因为路径 1→3→1→1→1 的总和最小。

示例 2:

输入:grid = [[1,2,3],[4,5,6]]
输出:
12

 

提示:

  • m == grid.length
  • n == grid[i].length
  • 1 <= m, n <= 200
  • 0 <= grid[i][j] <= 100
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/43.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/43.exercises/solution.md" index 8eb6eb9e4..77e5b53bf 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/43.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/43.exercises/solution.md" @@ -1,6 +1,6 @@ # 删除链表的倒数第 N 个结点 -

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

进阶:你能尝试使用一趟扫描实现吗?

 

示例 1:

输入:head = [1,2,3,4,5], n = 2
输出:
[1,2,3,5]

示例 2:

输入:head = [1], n = 1
输出:
[]

示例 3:

输入:head = [1,2], n = 1
输出:
[1]

 

提示:

  • 链表中结点的数目为 sz
  • 1 <= sz <= 30
  • 0 <= Node.val <= 100
  • 1 <= n <= sz
+

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

进阶:你能尝试使用一趟扫描实现吗?

 

示例 1:

输入:head = [1,2,3,4,5], n = 2
输出:
[1,2,3,5]

示例 2:

输入:head = [1], n = 1
输出:
[]

示例 3:

输入:head = [1,2], n = 1
输出:
[1]

 

提示:

  • 链表中结点的数目为 sz
  • 1 <= sz <= 30
  • 0 <= Node.val <= 100
  • 1 <= n <= sz
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/48.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/48.exercises/solution.md" index 58fab504f..d2bf91694 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/48.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/48.exercises/solution.md" @@ -1,6 +1,6 @@ # 交错字符串 -

给定三个字符串 s1s2s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。

两个字符串 st 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:

  • s = s1 + s2 + ... + sn
  • t = t1 + t2 + ... + tm
  • |n - m| <= 1
  • 交错s1 + t1 + s2 + t2 + s3 + t3 + ... 或者 t1 + s1 + t2 + s2 + t3 + s3 + ...

提示:a + b 意味着字符串 ab 连接。

 

示例 1:

输入:s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"
输出:
true

示例 2:

输入:s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc"
输出:
false

示例 3:

输入:s1 = "", s2 = "", s3 = ""
输出:
true

 

提示:

  • 0 <= s1.length, s2.length <= 100
  • 0 <= s3.length <= 200
  • s1s2、和 s3 都由小写英文字母组成
+

给定三个字符串 s1s2s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。

两个字符串 st 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:

  • s = s1 + s2 + ... + sn
  • t = t1 + t2 + ... + tm
  • |n - m| <= 1
  • 交错s1 + t1 + s2 + t2 + s3 + t3 + ... 或者 t1 + s1 + t2 + s2 + t3 + s3 + ...

提示:a + b 意味着字符串 ab 连接。

 

示例 1:

输入:s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"
输出:
true

示例 2:

输入:s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc"
输出:
false

示例 3:

输入:s1 = "", s2 = "", s3 = ""
输出:
true

 

提示:

  • 0 <= s1.length, s2.length <= 100
  • 0 <= s3.length <= 200
  • s1s2、和 s3 都由小写英文字母组成
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/5.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/5.exercises/solution.md" index 0c9870507..aca31cd87 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/5.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/5.exercises/solution.md" @@ -1,6 +1,6 @@ # 恢复二叉搜索树 -

给你二叉搜索树的根节点 root ,该树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。

进阶:使用 O(n) 空间复杂度的解法很容易实现。你能想出一个只使用常数空间的解决方案吗?

 

示例 1:

输入:root = [1,3,null,null,2]
输出:
[3,1,null,null,2]
解释:
3 不能是 1 左孩子,因为 3 > 1 。交换 1 和 3 使二叉搜索树有效。

示例 2:

输入:root = [3,1,4,null,null,2]
输出:
[2,1,4,null,null,3]
解释:
2 不能在 3 的右子树中,因为 2 < 3 。交换 2 和 3 使二叉搜索树有效。

 

提示:

  • 树上节点的数目在范围 [2, 1000]
  • -231 <= Node.val <= 231 - 1
+

给你二叉搜索树的根节点 root ,该树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。

进阶:使用 O(n) 空间复杂度的解法很容易实现。你能想出一个只使用常数空间的解决方案吗?

 

示例 1:

输入:root = [1,3,null,null,2]
输出:
[3,1,null,null,2]
解释:
3 不能是 1 左孩子,因为 3 > 1 。交换 1 和 3 使二叉搜索树有效。

示例 2:

输入:root = [3,1,4,null,null,2]
输出:
[2,1,4,null,null,3]
解释:
2 不能在 3 的右子树中,因为 2 < 3 。交换 2 和 3 使二叉搜索树有效。

 

提示:

  • 树上节点的数目在范围 [2, 1000]
  • -231 <= Node.val <= 231 - 1
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/54.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/54.exercises/solution.md" index 8235c3cbd..a99477267 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/54.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/54.exercises/solution.md" @@ -1,6 +1,6 @@ # 单词搜索 -

给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false

单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

 

示例 1:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCCED"
输出:
true

示例 2:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "SEE"
输出:
true

示例 3:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCB"
输出:
false

 

提示:

  • m == board.length
  • n = board[i].length
  • 1 <= m, n <= 6
  • 1 <= word.length <= 15
  • boardword 仅由大小写英文字母组成

 

进阶:你可以使用搜索剪枝的技术来优化解决方案,使其在 board 更大的情况下可以更快解决问题?

+

给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false

单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。

 

示例 1:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCCED"
输出:
true

示例 2:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "SEE"
输出:
true

示例 3:

输入:board = [["A","B","C","E"],["S","F","C","S"],["A","D","E","E"]], word = "ABCB"
输出:
false

 

提示:

  • m == board.length
  • n = board[i].length
  • 1 <= m, n <= 6
  • 1 <= word.length <= 15
  • boardword 仅由大小写英文字母组成

 

进阶:你可以使用搜索剪枝的技术来优化解决方案,使其在 board 更大的情况下可以更快解决问题?

## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/55.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/55.exercises/solution.md" index b03fe400e..00dbf231b 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/55.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/55.exercises/solution.md" @@ -14,13 +14,13 @@

 

示例 1:

- +
输入:root = [2,1,3]
 输出:true
 

示例 2:

- +
输入:root = [5,1,4,null,null,3,6]
 输出:false
 解释:根节点的值是 5 ,但是右子节点的值是 4 。
diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/56.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/56.exercises/solution.md"
index 0f118aceb..b494767d4 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/3.python/56.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/56.exercises/solution.md"
@@ -1,6 +1,6 @@
 # 删除排序链表中的重复元素 II
 
-

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。

返回同样按升序排列的结果链表。

 

示例 1:

输入:head = [1,2,3,3,4,4,5]
输出:
[1,2,5]

示例 2:

输入:head = [1,1,1,2,3]
输出:
[2,3]

 

提示:

  • 链表中节点数目在范围 [0, 300]
  • -100 <= Node.val <= 100
  • 题目数据保证链表已经按升序排列
+

存在一个按升序排列的链表,给你这个链表的头节点 head ,请你删除链表中所有存在数字重复情况的节点,只保留原始链表中 没有重复出现 的数字。

返回同样按升序排列的结果链表。

 

示例 1:

输入:head = [1,2,3,3,4,4,5]
输出:
[1,2,5]

示例 2:

输入:head = [1,1,1,2,3]
输出:
[2,3]

 

提示:

  • 链表中节点数目在范围 [0, 300]
  • -100 <= Node.val <= 100
  • 题目数据保证链表已经按升序排列
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/59.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/59.exercises/solution.md" index 04e96eae2..4c28e774c 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/59.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/59.exercises/solution.md" @@ -1,6 +1,6 @@ # 螺旋矩阵 II -

给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix

 

示例 1:

输入:n = 3
输出:
[[1,2,3],[8,9,4],[7,6,5]]

示例 2:

输入:n = 1
输出:
[[1]]

 

提示:

  • 1 <= n <= 20
+

给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix

 

示例 1:

输入:n = 3
输出:
[[1,2,3],[8,9,4],[7,6,5]]

示例 2:

输入:n = 1
输出:
[[1]]

 

提示:

  • 1 <= n <= 20
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/60.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/60.exercises/solution.md" index d88bdb2db..e77a1a6d0 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/60.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/60.exercises/solution.md" @@ -1,6 +1,6 @@ # 两两交换链表中的节点 -

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。

你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

 

示例 1:

输入:head = [1,2,3,4]
输出:
[2,1,4,3]

示例 2:

输入:head = []
输出:
[]

示例 3:

输入:head = [1]
输出:
[1]

 

提示:

  • 链表中节点的数目在范围 [0, 100]
  • 0 <= Node.val <= 100

 

进阶:你能在不修改链表节点值的情况下解决这个问题吗?(也就是说,仅修改节点本身。)

+

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。

你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

 

示例 1:

输入:head = [1,2,3,4]
输出:
[2,1,4,3]

示例 2:

输入:head = []
输出:
[]

示例 3:

输入:head = [1]
输出:
[1]

 

提示:

  • 链表中节点的数目在范围 [0, 100]
  • 0 <= Node.val <= 100

 

进阶:你能在不修改链表节点值的情况下解决这个问题吗?(也就是说,仅修改节点本身。)

## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/62.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/62.exercises/solution.md" index 506cf68de..62fa31888 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/62.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/62.exercises/solution.md" @@ -3,16 +3,16 @@

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。

现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?

-

网格中的障碍物和空位置分别用 10 来表示。

 

示例 1:

输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]
输出:
2
解释:
3x3 网格的正中间有一个障碍物。从左上角到右下角一共有 2 条不同的路径:
1. 向右 -> 向右 -> 向下 -> 向下
2. 向下 -> 向下 -> 向右 -> 向右

示例 2:

输入:obstacleGrid = [[0,1],[0,0]]
输出:
1

 

diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/63.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/63.exercises/solution.md" index a64f6287d..a44a47e74 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/63.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/63.exercises/solution.md" @@ -14,7 +14,7 @@

 

示例 1:

输入:board = 
     [["5","3",".",".","7",".",".",".","."]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/66.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/66.exercises/solution.md"
index 202c59dba..462efa88d 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/3.python/66.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/66.exercises/solution.md"
@@ -5,7 +5,7 @@
 

 

示例 1:

- +
 Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]
 Output: [3,9,20,null,null,15,7]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/7.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/7.exercises/solution.md"
index eeff7b84b..7705aefad 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/3.python/7.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/7.exercises/solution.md"
@@ -5,7 +5,7 @@
 

问总共有多少条不同的路径?

 

示例 1:

+ src="https://img-service.csdnimg.cn/img_convert/099169dc43ebe3d42afb948803f38eda.png" />
输入:m = 3, n = 7
输出:
28

示例 2:

输入:m = 3, n = 2
输出:
3
解释:
从左上角开始,总共有 3 条路径可以到达右下角。
1. 向右 -> 向下 -> 向下
2. 向下 -> 向下 -> 向右
3. 向下 -> 向右 -> 向下
diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/70.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/70.exercises/solution.md" index dc71d0157..77244b84b 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/70.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/70.exercises/solution.md" @@ -9,14 +9,14 @@

 

示例 1:

- +
 输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22
 输出:[[5,4,11,2],[5,8,4,5]]
 

示例 2:

- +
 输入:root = [1,2,3], targetSum = 5
 输出:[]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/71.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/71.exercises/solution.md"
index ba2c8f3ea..c94a6ced7 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/3.python/71.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/71.exercises/solution.md"
@@ -10,7 +10,7 @@
 

 

示例 1:

- +
 输入:root = [1,2,5,3,4,null,6]
 输出:[1,null,2,null,3,null,4,null,5,null,6]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/72.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/72.exercises/solution.md"
index 3a4ad32c1..7bd3f7bd3 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/3.python/72.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/72.exercises/solution.md"
@@ -27,7 +27,7 @@ struct Node {
 
 

示例:

-

+

 输入:root = [1,2,3,4,5,6,7]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/73.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/73.exercises/solution.md"
index fb9c095a2..a674783b7 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/3.python/73.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/73.exercises/solution.md"
@@ -27,7 +27,7 @@ struct Node {
 
 

示例:

-

+

 输入:root = [1,2,3,4,5,null,7]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/76.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/76.exercises/solution.md"
index 02536fe5a..b4d09a909 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/3.python/76.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/76.exercises/solution.md"
@@ -16,7 +16,7 @@
 

 

示例 1:

- +
 输入:root = [1,2,3]
 输出:25
@@ -26,7 +26,7 @@
 因此,数字总和 = 12 + 13 = 25

示例 2:

- +
 输入:root = [4,9,0,5,1]
 输出:1026
diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/77.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/77.exercises/solution.md"
index 7b4cf36c9..c64f420da 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/3.python/77.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/77.exercises/solution.md"
@@ -6,7 +6,7 @@
 

 

示例 1:

- +
 输入:board = [["X","X","X","X"],["X","O","O","X"],["X","X","O","X"],["X","O","X","X"]]
 输出:[["X","X","X","X"],["X","X","X","X"],["X","X","X","X"],["X","O","X","X"]]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/79.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/79.exercises/solution.md"
index cbe146812..798865f5b 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/3.python/79.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/79.exercises/solution.md"
@@ -23,7 +23,7 @@
 
 

示例 1:

-

+

输入:adjList = [[2,4],[1,3],[2,4],[1,3]]
 输出:[[2,4],[1,3],[2,4],[1,3]]
@@ -37,7 +37,7 @@
 
 

示例 2:

-

+

输入:adjList = [[]]
 输出:[[]]
@@ -53,7 +53,7 @@
 
 

示例 4:

-

+

输入:adjList = [[2],[1]]
 输出:[[2],[1]]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/8.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/8.exercises/solution.md" index 0fd25b810..ecb692b20 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/8.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/8.exercises/solution.md" @@ -1,6 +1,6 @@ # 电话号码的字母组合 -

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

 

示例 1:

输入:digits = "23"
输出:
["ad","ae","af","bd","be","bf","cd","ce","cf"]

示例 2:

输入:digits = ""
输出:
[]

示例 3:

输入:digits = "2"
输出:
["a","b","c"]

 

提示:

  • 0 <= digits.length <= 4
  • digits[i] 是范围 ['2', '9'] 的一个数字。
+

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

 

示例 1:

输入:digits = "23"
输出:
["ad","ae","af","bd","be","bf","cd","ce","cf"]

示例 2:

输入:digits = ""
输出:
[]

示例 3:

输入:digits = "2"
输出:
["a","b","c"]

 

提示:

  • 0 <= digits.length <= 4
  • digits[i] 是范围 ['2', '9'] 的一个数字。
## template diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/82.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/82.exercises/solution.md" index 258d3d65d..097b9da70 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/82.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/82.exercises/solution.md" @@ -21,7 +21,7 @@

示例 1:

-

+

 输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]
@@ -30,7 +30,7 @@
 
 

示例 2:

-

+

 输入:head = [[1,1],[2,1]]
@@ -39,7 +39,7 @@
 
 

示例 3:

-

+

 输入:head = [[3,null],[3,0],[3,null]]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/84.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/84.exercises/solution.md"
index 905827313..4b818599d 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/3.python/84.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/84.exercises/solution.md"
@@ -16,7 +16,7 @@
 
 

示例 1:

-

+

 输入:head = [3,2,0,-4], pos = 1
@@ -26,7 +26,7 @@
 
 

示例 2:

-

+

 输入:head = [1,2], pos = 0
@@ -36,7 +36,7 @@
 
 

示例 3:

-

+

 输入:head = [1], pos = -1
diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/85.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/85.exercises/solution.md"
index 71d5062a7..b4b36ab2d 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/3.python/85.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/85.exercises/solution.md"
@@ -13,7 +13,7 @@
 
 

示例 1:

-

+

 输入: head = [1,2,3,4]
@@ -21,7 +21,7 @@
 
 

示例 2:

-

+

 输入: head = [1,2,3,4,5]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/87.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/87.exercises/solution.md"
index 44d25d53c..1f63d1410 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/3.python/87.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/87.exercises/solution.md"
@@ -2,7 +2,7 @@
 
 

对链表进行插入排序。

-


+


插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。
每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。

diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/88.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/88.exercises/solution.md" index 20b37e585..621b12e63 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/88.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/88.exercises/solution.md" @@ -11,14 +11,14 @@

 

示例 1:

- +
 输入:head = [4,2,1,3]
 输出:[1,2,3,4]
 

示例 2:

- +
 输入:head = [-1,5,3,4,0]
 输出:[-1,0,3,4,5]
diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/9.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/9.exercises/solution.md"
index 0294458bc..b9f429450 100644
--- "a/data/2.dailycode\344\270\255\351\230\266/3.python/9.exercises/solution.md"
+++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/9.exercises/solution.md"
@@ -11,7 +11,7 @@
         

示例 1:

+ src="https://img-service.csdnimg.cn/img_convert/afa8711beb3c6f3c54d039379f525fb7.jpeg" alt="">
输入:n = 3
 输出:[[1,null,2,null,3],[1,null,3,2],[2,1,3],[3,1,null,null,2],[3,2,null,1]]
     
diff --git "a/data/2.dailycode\344\270\255\351\230\266/3.python/96.exercises/solution.md" "b/data/2.dailycode\344\270\255\351\230\266/3.python/96.exercises/solution.md" index 7aa84111b..18e7a1661 100644 --- "a/data/2.dailycode\344\270\255\351\230\266/3.python/96.exercises/solution.md" +++ "b/data/2.dailycode\344\270\255\351\230\266/3.python/96.exercises/solution.md" @@ -18,7 +18,7 @@

 

示例:

- +
 输入
 ["BSTIterator", "next", "next", "hasNext", "next", "hasNext", "next", "hasNext", "next", "hasNext"]
diff --git "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/21.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/21.exercises/solution.md"
index 5df7e22e9..ffe33832e 100644
--- "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/21.exercises/solution.md"
+++ "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/21.exercises/solution.md"
@@ -13,7 +13,7 @@
     

示例:

+ src="https://img-service.csdnimg.cn/img_convert/ed59800c64b76b1efa62aa77747f5330.png" />
输入:board = 
     [["5","3",".",".","7",".",".",".","."],
     ["6",".",".","1","9","5",".",".","."],
@@ -37,7 +37,7 @@
 解释:输入的数独如上图所示,唯一有效的解决方案如下所示:
 

 

-

 

diff --git "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/22.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/22.exercises/solution.md" index e46115342..bee0dee40 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/22.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/22.exercises/solution.md" @@ -1,6 +1,6 @@ # 接雨水 -

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

 

示例 1:

输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
输出:
6
解释:
上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。

示例 2:

输入:height = [4,2,0,3,2,5]
输出:
9

 

提示:

  • n == height.length
  • 0 <= n <= 3 * 104
  • 0 <= height[i] <= 105
+

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

 

示例 1:

输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
输出:
6
解释:
上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。

示例 2:

输入:height = [4,2,0,3,2,5]
输出:
9

 

提示:

  • n == height.length
  • 0 <= n <= 3 * 104
  • 0 <= height[i] <= 105
以下程序实现了这一功能,请你填补空白处的内容: diff --git "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/23.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/23.exercises/solution.md" index 289802c52..7f1166212 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/23.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/23.exercises/solution.md" @@ -1,6 +1,6 @@ # 柱状图中最大的矩形 -

给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。

求在该柱状图中,能够勾勒出来的矩形的最大面积。

 

以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]

 

图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。

 

示例:

输入: [2,1,5,6,2,3]
输出:
10
+

给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。

求在该柱状图中,能够勾勒出来的矩形的最大面积。

 

以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]

 

图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。

 

示例:

输入: [2,1,5,6,2,3]
输出:
10
以下程序实现了这一功能,请你填补空白处的内容: diff --git "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/25.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/25.exercises/solution.md" index 9e8a96489..a9bd09122 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/25.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/25.exercises/solution.md" @@ -10,7 +10,7 @@

示例 1:

-
输入:n = 4
 输出:2
diff --git "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/26.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/26.exercises/solution.md"
index c59fc9115..db3d9b796 100644
--- "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/26.exercises/solution.md"
+++ "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/26.exercises/solution.md"
@@ -1,6 +1,6 @@
 # 最大矩形
 
-

给定一个仅包含 01 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。

 

示例 1:

输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]
输出:
6
解释:
最大矩形如上图所示。

示例 2:

输入:matrix = []
输出:
0

示例 3:

输入:matrix = [["0"]]
输出:
0

示例 4:

输入:matrix = [["1"]]
输出:
1

示例 5:

输入:matrix = [["0","0"]]
输出:
0

 

提示:

  • rows == matrix.length
  • cols == matrix[0].length
  • 0 <= row, cols <= 200
  • matrix[i][j]'0''1'
+

给定一个仅包含 01 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。

 

示例 1:

输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]
输出:
6
解释:
最大矩形如上图所示。

示例 2:

输入:matrix = []
输出:
0

示例 3:

输入:matrix = [["0"]]
输出:
0

示例 4:

输入:matrix = [["1"]]
输出:
1

示例 5:

输入:matrix = [["0","0"]]
输出:
0

 

提示:

  • rows == matrix.length
  • cols == matrix[0].length
  • 0 <= row, cols <= 200
  • matrix[i][j]'0''1'
以下程序实现了这一功能,请你填补空白处的内容: diff --git "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/30.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/30.exercises/solution.md" index 5748f4a9f..fe689776d 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/30.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/30.exercises/solution.md" @@ -1,6 +1,6 @@ # N 皇后 -

n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。

给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。

每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q''.' 分别代表了皇后和空位。

 

示例 1:

输入:n = 4
输出:
[[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]]
解释:
如上图所示,4 皇后问题存在两个不同的解法。

示例 2:

输入:n = 1
输出:
[["Q"]]

 

提示:

  • 1 <= n <= 9
  • 皇后彼此不能相互攻击,也就是说:任何两个皇后都不能处于同一条横行、纵行或斜线上。
+

n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。

给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。

每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q''.' 分别代表了皇后和空位。

 

示例 1:

输入:n = 4
输出:
[[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]]
解释:
如上图所示,4 皇后问题存在两个不同的解法。

示例 2:

输入:n = 1
输出:
[["Q"]]

 

提示:

  • 1 <= n <= 9
  • 皇后彼此不能相互攻击,也就是说:任何两个皇后都不能处于同一条横行、纵行或斜线上。
以下程序实现了这一功能,请你填补空白处的内容: diff --git "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/32.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/32.exercises/solution.md" index 445edc9a6..43dd3fc3b 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/32.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/32.exercises/solution.md" @@ -1,6 +1,6 @@ # K 个一组翻转链表 -

给你一个链表,每 个节点一组进行翻转,请你返回翻转后的链表。

是一个正整数,它的值小于或等于链表的长度。

如果节点总数不是 的整数倍,那么请将最后剩余的节点保持原有顺序。

进阶:

  • 你可以设计一个只使用常数额外空间的算法来解决此问题吗?
  • 你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。

 

示例 1:

输入:head = [1,2,3,4,5], k = 2
输出:
[2,1,4,3,5]

示例 2:

输入:head = [1,2,3,4,5], k = 3
输出:
[3,2,1,4,5]

示例 3:

输入:head = [1,2,3,4,5], k = 1
输出:
[1,2,3,4,5]

示例 4:

输入:head = [1], k = 1
输出:
[1]

    提示:

    • 列表中节点的数量在范围 sz
    • 1 <= sz <= 5000
    • 0 <= Node.val <= 1000
    • 1 <= k <= sz
    +

    给你一个链表,每 个节点一组进行翻转,请你返回翻转后的链表。

    是一个正整数,它的值小于或等于链表的长度。

    如果节点总数不是 的整数倍,那么请将最后剩余的节点保持原有顺序。

    进阶:

    • 你可以设计一个只使用常数额外空间的算法来解决此问题吗?
    • 你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。

     

    示例 1:

    输入:head = [1,2,3,4,5], k = 2
    输出:
    [2,1,4,3,5]

    示例 2:

    输入:head = [1,2,3,4,5], k = 3
    输出:
    [3,2,1,4,5]

    示例 3:

    输入:head = [1,2,3,4,5], k = 1
    输出:
    [1,2,3,4,5]

    示例 4:

    输入:head = [1], k = 1
    输出:
    [1]

      提示:

      • 列表中节点的数量在范围 sz
      • 1 <= sz <= 5000
      • 0 <= Node.val <= 1000
      • 1 <= k <= sz
      以下程序实现了这一功能,请你填补空白处的内容: diff --git "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/43.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/43.exercises/solution.md" index 6076c4909..23b2f4c06 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/43.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/43.exercises/solution.md" @@ -9,14 +9,14 @@

       

      示例 1:

      - +
       输入:root = [1,2,3]
       输出:6
       解释:最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6

      示例 2:

      - +
       输入:root = [-10,9,20,null,null,15,7]
       输出:42
      diff --git "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/49.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/49.exercises/solution.md"
      index 33c073677..64070ab0f 100644
      --- "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/49.exercises/solution.md"
      +++ "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/49.exercises/solution.md"
      @@ -5,14 +5,14 @@
       

       

      示例 1:

      - +
       输入:points = [[1,1],[2,2],[3,3]]
       输出:3
       

      示例 2:

      - +
       输入:points = [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]
       输出:4
      diff --git "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/54.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/54.exercises/solution.md"
      index 3b47be88b..fb1453059 100644
      --- "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/54.exercises/solution.md"
      +++ "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/54.exercises/solution.md"
      @@ -7,14 +7,14 @@
       

       

      示例 1:

      - +
       输入:board = [["o","a","a","n"],["e","t","a","e"],["i","h","k","r"],["i","f","l","v"]], words = ["oath","pea","eat","rain"]
       输出:["eat","oath"]
       

      示例 2:

      - +
       输入:board = [["a","b"],["c","d"]], words = ["abcb"]
       输出:[]
      diff --git "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/56.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/56.exercises/solution.md"
      index c3286e1ca..7921c6d76 100644
      --- "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/56.exercises/solution.md"
      +++ "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/56.exercises/solution.md"
      @@ -17,7 +17,7 @@
       

       

      示例 1:

      - +
       输入:buildings = [[2,9,10],[3,7,15],[5,12,12],[15,20,10],[19,24,8]]
       输出:[[2,10],[3,15],[7,12],[12,0],[15,10],[20,8],[24,0]]
      diff --git "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/63.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/63.exercises/solution.md"
      index 36524d2a9..2eb450c1f 100644
      --- "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/63.exercises/solution.md"
      +++ "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/63.exercises/solution.md"
      @@ -9,7 +9,7 @@
       

       

      示例 1:

      - +
       输入:root = [1,2,3,null,null,4,5]
       输出:[1,2,3,null,null,4,5]
      diff --git "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/69.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/69.exercises/solution.md"
      index 88cb6e09d..3f25e39da 100644
      --- "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/69.exercises/solution.md"
      +++ "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/69.exercises/solution.md"
      @@ -7,14 +7,14 @@
       

       

      示例 1:

      - +
       输入:matrix = [[9,9,4],[6,6,8],[2,1,1]]
       输出:4 
       解释:最长递增路径为 [1, 2, 6, 9]

      示例 2:

      - +
       输入:matrix = [[3,4,5],[3,2,6],[2,2,1]]
       输出:4 
      diff --git "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/71.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/71.exercises/solution.md"
      index 6d6563304..ac968417a 100644
      --- "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/71.exercises/solution.md"
      +++ "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/71.exercises/solution.md"
      @@ -9,21 +9,21 @@
       

       

      示例 1:

      - +
       输入:distance = [2,1,1,2]
       输出:true
       

      示例 2:

      - +
       输入:distance = [1,2,3,4]
       输出:false
       

      示例 3:

      - +
       输入:distance = [1,1,1,1]
       输出:true
      diff --git "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/75.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/75.exercises/solution.md" index 2de116311..2ebcb0066 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/75.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/75.exercises/solution.md" @@ -7,7 +7,7 @@

       

      示例 1:

      - +
       输入:matrix = [[1,0,1],[0,-2,3]], k = 2
       输出:2
      diff --git "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/76.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/76.exercises/solution.md"
      index da0da4b58..64251c968 100644
      --- "a/data/3.dailycode\351\253\230\351\230\266/1.cpp/76.exercises/solution.md"
      +++ "b/data/3.dailycode\351\253\230\351\230\266/1.cpp/76.exercises/solution.md"
      @@ -4,7 +4,7 @@
       
       

      每个矩形用左下角的点和右上角的点的坐标来表示。例如, 一个单位正方形可以表示为 [1,1,2,2]。 ( 左下角的点的坐标为 (1, 1) 以及右上角的点的坐标为 (2, 2) )。

      -

      +

      示例 1:

      @@ -21,7 +21,7 @@

       

      -

      +

      示例 2:

      @@ -37,7 +37,7 @@

       

      -

      +

      示例 3:

      @@ -53,7 +53,7 @@

       

      -

      +

      示例 4:

      diff --git "a/data/3.dailycode\351\253\230\351\230\266/2.java/1.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/2.java/1.exercises/solution.md" index 412bbd577..a80aa8d08 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/2.java/1.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/2.java/1.exercises/solution.md" @@ -13,7 +13,7 @@

      示例:

      + src="https://img-service.csdnimg.cn/img_convert/ed59800c64b76b1efa62aa77747f5330.png" />
      输入:board = 
           [["5","3",".",".","7",".",".",".","."],
           ["6",".",".","1","9","5",".",".","."],
      @@ -37,7 +37,7 @@
       解释:输入的数独如上图所示,唯一有效的解决方案如下所示:
       

       

      -

       

      diff --git "a/data/3.dailycode\351\253\230\351\230\266/2.java/10.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/2.java/10.exercises/solution.md" index 3f00ef107..e46529d0c 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/2.java/10.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/2.java/10.exercises/solution.md" @@ -1,6 +1,6 @@ # N 皇后 -

      n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。

      给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。

      每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q''.' 分别代表了皇后和空位。

       

      示例 1:

      输入:n = 4
      输出:
      [[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]]
      解释:
      如上图所示,4 皇后问题存在两个不同的解法。

      示例 2:

      输入:n = 1
      输出:
      [["Q"]]

       

      提示:

      • 1 <= n <= 9
      • 皇后彼此不能相互攻击,也就是说:任何两个皇后都不能处于同一条横行、纵行或斜线上。
      +

      n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。

      给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。

      每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q''.' 分别代表了皇后和空位。

       

      示例 1:

      输入:n = 4
      输出:
      [[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]]
      解释:
      如上图所示,4 皇后问题存在两个不同的解法。

      示例 2:

      输入:n = 1
      输出:
      [["Q"]]

       

      提示:

      • 1 <= n <= 9
      • 皇后彼此不能相互攻击,也就是说:任何两个皇后都不能处于同一条横行、纵行或斜线上。
      以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/3.dailycode\351\253\230\351\230\266/2.java/12.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/2.java/12.exercises/solution.md" index 9295f87d9..d2e826051 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/2.java/12.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/2.java/12.exercises/solution.md" @@ -1,6 +1,6 @@ # K 个一组翻转链表 -

      给你一个链表,每 个节点一组进行翻转,请你返回翻转后的链表。

      是一个正整数,它的值小于或等于链表的长度。

      如果节点总数不是 的整数倍,那么请将最后剩余的节点保持原有顺序。

      进阶:

      • 你可以设计一个只使用常数额外空间的算法来解决此问题吗?
      • 你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。

       

      示例 1:

      输入:head = [1,2,3,4,5], k = 2
      输出:
      [2,1,4,3,5]

      示例 2:

      输入:head = [1,2,3,4,5], k = 3
      输出:
      [3,2,1,4,5]

      示例 3:

      输入:head = [1,2,3,4,5], k = 1
      输出:
      [1,2,3,4,5]

      示例 4:

      输入:head = [1], k = 1
      输出:
      [1]

        提示:

        • 列表中节点的数量在范围 sz
        • 1 <= sz <= 5000
        • 0 <= Node.val <= 1000
        • 1 <= k <= sz
        +

        给你一个链表,每 个节点一组进行翻转,请你返回翻转后的链表。

        是一个正整数,它的值小于或等于链表的长度。

        如果节点总数不是 的整数倍,那么请将最后剩余的节点保持原有顺序。

        进阶:

        • 你可以设计一个只使用常数额外空间的算法来解决此问题吗?
        • 你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。

         

        示例 1:

        输入:head = [1,2,3,4,5], k = 2
        输出:
        [2,1,4,3,5]

        示例 2:

        输入:head = [1,2,3,4,5], k = 3
        输出:
        [3,2,1,4,5]

        示例 3:

        输入:head = [1,2,3,4,5], k = 1
        输出:
        [1,2,3,4,5]

        示例 4:

        输入:head = [1], k = 1
        输出:
        [1]

          提示:

          • 列表中节点的数量在范围 sz
          • 1 <= sz <= 5000
          • 0 <= Node.val <= 1000
          • 1 <= k <= sz
          以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/3.dailycode\351\253\230\351\230\266/2.java/2.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/2.java/2.exercises/solution.md" index 4b3ada41e..29a3be730 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/2.java/2.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/2.java/2.exercises/solution.md" @@ -1,6 +1,6 @@ # 接雨水 -

          给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

           

          示例 1:

          输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
          输出:
          6
          解释:
          上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。

          示例 2:

          输入:height = [4,2,0,3,2,5]
          输出:
          9

           

          提示:

          • n == height.length
          • 0 <= n <= 3 * 104
          • 0 <= height[i] <= 105
          +

          给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

           

          示例 1:

          输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
          输出:
          6
          解释:
          上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。

          示例 2:

          输入:height = [4,2,0,3,2,5]
          输出:
          9

           

          提示:

          • n == height.length
          • 0 <= n <= 3 * 104
          • 0 <= height[i] <= 105
          以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/3.dailycode\351\253\230\351\230\266/2.java/23.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/2.java/23.exercises/solution.md" index 24727689f..4d17474e8 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/2.java/23.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/2.java/23.exercises/solution.md" @@ -9,14 +9,14 @@

           

          示例 1:

          - +
           输入:root = [1,2,3]
           输出:6
           解释:最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6

          示例 2:

          - +
           输入:root = [-10,9,20,null,null,15,7]
           输出:42
          diff --git "a/data/3.dailycode\351\253\230\351\230\266/2.java/29.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/2.java/29.exercises/solution.md"
          index 5e8775341..11c2741ef 100644
          --- "a/data/3.dailycode\351\253\230\351\230\266/2.java/29.exercises/solution.md"
          +++ "b/data/3.dailycode\351\253\230\351\230\266/2.java/29.exercises/solution.md"
          @@ -5,14 +5,14 @@
           

           

          示例 1:

          - +
           输入:points = [[1,1],[2,2],[3,3]]
           输出:3
           

          示例 2:

          - +
           输入:points = [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]
           输出:4
          diff --git "a/data/3.dailycode\351\253\230\351\230\266/2.java/3.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/2.java/3.exercises/solution.md"
          index 763c64572..7b2cc9d3a 100644
          --- "a/data/3.dailycode\351\253\230\351\230\266/2.java/3.exercises/solution.md"
          +++ "b/data/3.dailycode\351\253\230\351\230\266/2.java/3.exercises/solution.md"
          @@ -1,6 +1,6 @@
           # 柱状图中最大的矩形
           
          -

          给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。

          求在该柱状图中,能够勾勒出来的矩形的最大面积。

           

          以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]

           

          图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。

           

          示例:

          输入: [2,1,5,6,2,3]
          输出:
          10
          +

          给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。

          求在该柱状图中,能够勾勒出来的矩形的最大面积。

           

          以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]

           

          图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。

           

          示例:

          输入: [2,1,5,6,2,3]
          输出:
          10
          以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/3.dailycode\351\253\230\351\230\266/2.java/34.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/2.java/34.exercises/solution.md" index 8062a438d..27fdd36da 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/2.java/34.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/2.java/34.exercises/solution.md" @@ -7,14 +7,14 @@

           

          示例 1:

          - +
           输入:board = [["o","a","a","n"],["e","t","a","e"],["i","h","k","r"],["i","f","l","v"]], words = ["oath","pea","eat","rain"]
           输出:["eat","oath"]
           

          示例 2:

          - +
           输入:board = [["a","b"],["c","d"]], words = ["abcb"]
           输出:[]
          diff --git "a/data/3.dailycode\351\253\230\351\230\266/2.java/36.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/2.java/36.exercises/solution.md"
          index d94cce264..67fa49afb 100644
          --- "a/data/3.dailycode\351\253\230\351\230\266/2.java/36.exercises/solution.md"
          +++ "b/data/3.dailycode\351\253\230\351\230\266/2.java/36.exercises/solution.md"
          @@ -17,7 +17,7 @@
           

           

          示例 1:

          - +
           输入:buildings = [[2,9,10],[3,7,15],[5,12,12],[15,20,10],[19,24,8]]
           输出:[[2,10],[3,15],[7,12],[12,0],[15,10],[20,8],[24,0]]
          diff --git "a/data/3.dailycode\351\253\230\351\230\266/2.java/43.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/2.java/43.exercises/solution.md"
          index 5788761a0..fe1f4b9c2 100644
          --- "a/data/3.dailycode\351\253\230\351\230\266/2.java/43.exercises/solution.md"
          +++ "b/data/3.dailycode\351\253\230\351\230\266/2.java/43.exercises/solution.md"
          @@ -9,7 +9,7 @@
           

           

          示例 1:

          - +
           输入:root = [1,2,3,null,null,4,5]
           输出:[1,2,3,null,null,4,5]
          diff --git "a/data/3.dailycode\351\253\230\351\230\266/2.java/49.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/2.java/49.exercises/solution.md"
          index 86da387ed..9d3b648de 100644
          --- "a/data/3.dailycode\351\253\230\351\230\266/2.java/49.exercises/solution.md"
          +++ "b/data/3.dailycode\351\253\230\351\230\266/2.java/49.exercises/solution.md"
          @@ -7,14 +7,14 @@
           

           

          示例 1:

          - +
           输入:matrix = [[9,9,4],[6,6,8],[2,1,1]]
           输出:4 
           解释:最长递增路径为 [1, 2, 6, 9]

          示例 2:

          - +
           输入:matrix = [[3,4,5],[3,2,6],[2,2,1]]
           输出:4 
          diff --git "a/data/3.dailycode\351\253\230\351\230\266/2.java/5.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/2.java/5.exercises/solution.md"
          index 9fa979638..6da5bab9a 100644
          --- "a/data/3.dailycode\351\253\230\351\230\266/2.java/5.exercises/solution.md"
          +++ "b/data/3.dailycode\351\253\230\351\230\266/2.java/5.exercises/solution.md"
          @@ -10,7 +10,7 @@
               

          示例 1:

          -
          输入:n = 4
           输出:2
          diff --git "a/data/3.dailycode\351\253\230\351\230\266/2.java/51.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/2.java/51.exercises/solution.md"
          index af2ed686f..1212c7e15 100644
          --- "a/data/3.dailycode\351\253\230\351\230\266/2.java/51.exercises/solution.md"
          +++ "b/data/3.dailycode\351\253\230\351\230\266/2.java/51.exercises/solution.md"
          @@ -9,21 +9,21 @@
           

           

          示例 1:

          - +
           输入:distance = [2,1,1,2]
           输出:true
           

          示例 2:

          - +
           输入:distance = [1,2,3,4]
           输出:false
           

          示例 3:

          - +
           输入:distance = [1,1,1,1]
           输出:true
          diff --git "a/data/3.dailycode\351\253\230\351\230\266/2.java/55.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/2.java/55.exercises/solution.md" index 6a32a61d4..d3179a3ed 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/2.java/55.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/2.java/55.exercises/solution.md" @@ -7,7 +7,7 @@

           

          示例 1:

          - +
           输入:matrix = [[1,0,1],[0,-2,3]], k = 2
           输出:2
          diff --git "a/data/3.dailycode\351\253\230\351\230\266/2.java/57.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/2.java/57.exercises/solution.md"
          index 99505a71d..d641ba3bc 100644
          --- "a/data/3.dailycode\351\253\230\351\230\266/2.java/57.exercises/solution.md"
          +++ "b/data/3.dailycode\351\253\230\351\230\266/2.java/57.exercises/solution.md"
          @@ -4,7 +4,7 @@
           
           

          每个矩形用左下角的点和右上角的点的坐标来表示。例如, 一个单位正方形可以表示为 [1,1,2,2]。 ( 左下角的点的坐标为 (1, 1) 以及右上角的点的坐标为 (2, 2) )。

          -

          +

          示例 1:

          @@ -21,7 +21,7 @@

           

          -

          +

          示例 2:

          @@ -37,7 +37,7 @@

           

          -

          +

          示例 3:

          @@ -53,7 +53,7 @@

           

          -

          +

          示例 4:

          diff --git "a/data/3.dailycode\351\253\230\351\230\266/2.java/6.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/2.java/6.exercises/solution.md" index 602d6ca59..e723c2b1b 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/2.java/6.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/2.java/6.exercises/solution.md" @@ -1,6 +1,6 @@ # 最大矩形 -

          给定一个仅包含 01 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。

           

          示例 1:

          输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]
          输出:
          6
          解释:
          最大矩形如上图所示。

          示例 2:

          输入:matrix = []
          输出:
          0

          示例 3:

          输入:matrix = [["0"]]
          输出:
          0

          示例 4:

          输入:matrix = [["1"]]
          输出:
          1

          示例 5:

          输入:matrix = [["0","0"]]
          输出:
          0

           

          提示:

          • rows == matrix.length
          • cols == matrix[0].length
          • 0 <= row, cols <= 200
          • matrix[i][j]'0''1'
          +

          给定一个仅包含 01 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。

           

          示例 1:

          输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]
          输出:
          6
          解释:
          最大矩形如上图所示。

          示例 2:

          输入:matrix = []
          输出:
          0

          示例 3:

          输入:matrix = [["0"]]
          输出:
          0

          示例 4:

          输入:matrix = [["1"]]
          输出:
          1

          示例 5:

          输入:matrix = [["0","0"]]
          输出:
          0

           

          提示:

          • rows == matrix.length
          • cols == matrix[0].length
          • 0 <= row, cols <= 200
          • matrix[i][j]'0''1'
          以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/3.dailycode\351\253\230\351\230\266/3.python/11.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/3.python/11.exercises/solution.md" index c93b24c05..5a6222c02 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/3.python/11.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/3.python/11.exercises/solution.md" @@ -1,6 +1,6 @@ # N 皇后 -

          n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。

          给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。

          每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q''.' 分别代表了皇后和空位。

           

          示例 1:

          输入:n = 4
          输出:
          [[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]]
          解释:
          如上图所示,4 皇后问题存在两个不同的解法。

          示例 2:

          输入:n = 1
          输出:
          [["Q"]]

           

          提示:

          • 1 <= n <= 9
          • 皇后彼此不能相互攻击,也就是说:任何两个皇后都不能处于同一条横行、纵行或斜线上。
          +

          n 皇后问题 研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。

          给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。

          每一种解法包含一个不同的 n 皇后问题 的棋子放置方案,该方案中 'Q''.' 分别代表了皇后和空位。

           

          示例 1:

          输入:n = 4
          输出:
          [[".Q..","...Q","Q...","..Q."],["..Q.","Q...","...Q",".Q.."]]
          解释:
          如上图所示,4 皇后问题存在两个不同的解法。

          示例 2:

          输入:n = 1
          输出:
          [["Q"]]

           

          提示:

          • 1 <= n <= 9
          • 皇后彼此不能相互攻击,也就是说:任何两个皇后都不能处于同一条横行、纵行或斜线上。
          以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/3.dailycode\351\253\230\351\230\266/3.python/13.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/3.python/13.exercises/solution.md" index d980cd19f..f70bcdbb8 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/3.python/13.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/3.python/13.exercises/solution.md" @@ -1,6 +1,6 @@ # K 个一组翻转链表 -

          给你一个链表,每 个节点一组进行翻转,请你返回翻转后的链表。

          是一个正整数,它的值小于或等于链表的长度。

          如果节点总数不是 的整数倍,那么请将最后剩余的节点保持原有顺序。

          进阶:

          • 你可以设计一个只使用常数额外空间的算法来解决此问题吗?
          • 你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。

           

          示例 1:

          输入:head = [1,2,3,4,5], k = 2
          输出:
          [2,1,4,3,5]

          示例 2:

          输入:head = [1,2,3,4,5], k = 3
          输出:
          [3,2,1,4,5]

          示例 3:

          输入:head = [1,2,3,4,5], k = 1
          输出:
          [1,2,3,4,5]

          示例 4:

          输入:head = [1], k = 1
          输出:
          [1]

            提示:

            • 列表中节点的数量在范围 sz
            • 1 <= sz <= 5000
            • 0 <= Node.val <= 1000
            • 1 <= k <= sz
            +

            给你一个链表,每 个节点一组进行翻转,请你返回翻转后的链表。

            是一个正整数,它的值小于或等于链表的长度。

            如果节点总数不是 的整数倍,那么请将最后剩余的节点保持原有顺序。

            进阶:

            • 你可以设计一个只使用常数额外空间的算法来解决此问题吗?
            • 你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。

             

            示例 1:

            输入:head = [1,2,3,4,5], k = 2
            输出:
            [2,1,4,3,5]

            示例 2:

            输入:head = [1,2,3,4,5], k = 3
            输出:
            [3,2,1,4,5]

            示例 3:

            输入:head = [1,2,3,4,5], k = 1
            输出:
            [1,2,3,4,5]

            示例 4:

            输入:head = [1], k = 1
            输出:
            [1]

              提示:

              • 列表中节点的数量在范围 sz
              • 1 <= sz <= 5000
              • 0 <= Node.val <= 1000
              • 1 <= k <= sz
              以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/3.dailycode\351\253\230\351\230\266/3.python/2.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/3.python/2.exercises/solution.md" index cd6e1be59..f98d1792e 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/3.python/2.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/3.python/2.exercises/solution.md" @@ -13,7 +13,7 @@

              示例:

              + src="https://img-service.csdnimg.cn/img_convert/ed59800c64b76b1efa62aa77747f5330.png" />
              输入:board = 
                   [["5","3",".",".","7",".",".",".","."],
                   ["6",".",".","1","9","5",".",".","."],
              @@ -37,7 +37,7 @@
               解释:输入的数独如上图所示,唯一有效的解决方案如下所示:
               

               

              -

               

              diff --git "a/data/3.dailycode\351\253\230\351\230\266/3.python/24.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/3.python/24.exercises/solution.md" index bb3342d1e..1776786d2 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/3.python/24.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/3.python/24.exercises/solution.md" @@ -9,14 +9,14 @@

               

              示例 1:

              - +
               输入:root = [1,2,3]
               输出:6
               解释:最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6

              示例 2:

              - +
               输入:root = [-10,9,20,null,null,15,7]
               输出:42
              diff --git "a/data/3.dailycode\351\253\230\351\230\266/3.python/3.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/3.python/3.exercises/solution.md"
              index 485d2174b..e777f5ca7 100644
              --- "a/data/3.dailycode\351\253\230\351\230\266/3.python/3.exercises/solution.md"
              +++ "b/data/3.dailycode\351\253\230\351\230\266/3.python/3.exercises/solution.md"
              @@ -1,6 +1,6 @@
               # 接雨水
               
              -

              给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

               

              示例 1:

              输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
              输出:
              6
              解释:
              上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。

              示例 2:

              输入:height = [4,2,0,3,2,5]
              输出:
              9

               

              提示:

              • n == height.length
              • 0 <= n <= 3 * 104
              • 0 <= height[i] <= 105
              +

              给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。

               

              示例 1:

              输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]
              输出:
              6
              解释:
              上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。

              示例 2:

              输入:height = [4,2,0,3,2,5]
              输出:
              9

               

              提示:

              • n == height.length
              • 0 <= n <= 3 * 104
              • 0 <= height[i] <= 105
              以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/3.dailycode\351\253\230\351\230\266/3.python/30.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/3.python/30.exercises/solution.md" index b9692a5aa..cd3582348 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/3.python/30.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/3.python/30.exercises/solution.md" @@ -5,14 +5,14 @@

               

              示例 1:

              - +
               输入:points = [[1,1],[2,2],[3,3]]
               输出:3
               

              示例 2:

              - +
               输入:points = [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]
               输出:4
              diff --git "a/data/3.dailycode\351\253\230\351\230\266/3.python/35.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/3.python/35.exercises/solution.md"
              index 0cf0d174d..10becd5f0 100644
              --- "a/data/3.dailycode\351\253\230\351\230\266/3.python/35.exercises/solution.md"
              +++ "b/data/3.dailycode\351\253\230\351\230\266/3.python/35.exercises/solution.md"
              @@ -7,14 +7,14 @@
               

               

              示例 1:

              - +
               输入:board = [["o","a","a","n"],["e","t","a","e"],["i","h","k","r"],["i","f","l","v"]], words = ["oath","pea","eat","rain"]
               输出:["eat","oath"]
               

              示例 2:

              - +
               输入:board = [["a","b"],["c","d"]], words = ["abcb"]
               输出:[]
              diff --git "a/data/3.dailycode\351\253\230\351\230\266/3.python/37.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/3.python/37.exercises/solution.md"
              index 074f84bb1..27df9b5af 100644
              --- "a/data/3.dailycode\351\253\230\351\230\266/3.python/37.exercises/solution.md"
              +++ "b/data/3.dailycode\351\253\230\351\230\266/3.python/37.exercises/solution.md"
              @@ -17,7 +17,7 @@
               

               

              示例 1:

              - +
               输入:buildings = [[2,9,10],[3,7,15],[5,12,12],[15,20,10],[19,24,8]]
               输出:[[2,10],[3,15],[7,12],[12,0],[15,10],[20,8],[24,0]]
              diff --git "a/data/3.dailycode\351\253\230\351\230\266/3.python/4.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/3.python/4.exercises/solution.md"
              index 3e02ac298..383fc81b2 100644
              --- "a/data/3.dailycode\351\253\230\351\230\266/3.python/4.exercises/solution.md"
              +++ "b/data/3.dailycode\351\253\230\351\230\266/3.python/4.exercises/solution.md"
              @@ -1,6 +1,6 @@
               # 柱状图中最大的矩形
               
              -

              给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。

              求在该柱状图中,能够勾勒出来的矩形的最大面积。

               

              以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]

               

              图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。

               

              示例:

              输入: [2,1,5,6,2,3]
              输出:
              10
              +

              给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。

              求在该柱状图中,能够勾勒出来的矩形的最大面积。

               

              以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]

               

              图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。

               

              示例:

              输入: [2,1,5,6,2,3]
              输出:
              10
              以下程序实现了这一功能,请你填补空白处内容: diff --git "a/data/3.dailycode\351\253\230\351\230\266/3.python/44.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/3.python/44.exercises/solution.md" index 63b322445..8d06e4065 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/3.python/44.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/3.python/44.exercises/solution.md" @@ -9,7 +9,7 @@

               

              示例 1:

              - +
               输入:root = [1,2,3,null,null,4,5]
               输出:[1,2,3,null,null,4,5]
              diff --git "a/data/3.dailycode\351\253\230\351\230\266/3.python/50.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/3.python/50.exercises/solution.md"
              index 253823f3d..97889faa7 100644
              --- "a/data/3.dailycode\351\253\230\351\230\266/3.python/50.exercises/solution.md"
              +++ "b/data/3.dailycode\351\253\230\351\230\266/3.python/50.exercises/solution.md"
              @@ -7,14 +7,14 @@
               

               

              示例 1:

              - +
               输入:matrix = [[9,9,4],[6,6,8],[2,1,1]]
               输出:4 
               解释:最长递增路径为 [1, 2, 6, 9]

              示例 2:

              - +
               输入:matrix = [[3,4,5],[3,2,6],[2,2,1]]
               输出:4 
              diff --git "a/data/3.dailycode\351\253\230\351\230\266/3.python/52.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/3.python/52.exercises/solution.md"
              index 5aa71cb52..0f8572550 100644
              --- "a/data/3.dailycode\351\253\230\351\230\266/3.python/52.exercises/solution.md"
              +++ "b/data/3.dailycode\351\253\230\351\230\266/3.python/52.exercises/solution.md"
              @@ -9,21 +9,21 @@
               

               

              示例 1:

              - +
               输入:distance = [2,1,1,2]
               输出:true
               

              示例 2:

              - +
               输入:distance = [1,2,3,4]
               输出:false
               

              示例 3:

              - +
               输入:distance = [1,1,1,1]
               输出:true
              diff --git "a/data/3.dailycode\351\253\230\351\230\266/3.python/56.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/3.python/56.exercises/solution.md" index b774ec014..01de38e34 100644 --- "a/data/3.dailycode\351\253\230\351\230\266/3.python/56.exercises/solution.md" +++ "b/data/3.dailycode\351\253\230\351\230\266/3.python/56.exercises/solution.md" @@ -7,7 +7,7 @@

               

              示例 1:

              - +
               输入:matrix = [[1,0,1],[0,-2,3]], k = 2
               输出:2
              diff --git "a/data/3.dailycode\351\253\230\351\230\266/3.python/6.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/3.python/6.exercises/solution.md"
              index 42047179f..981841c14 100644
              --- "a/data/3.dailycode\351\253\230\351\230\266/3.python/6.exercises/solution.md"
              +++ "b/data/3.dailycode\351\253\230\351\230\266/3.python/6.exercises/solution.md"
              @@ -10,7 +10,7 @@
                   

              示例 1:

              -
              输入:n = 4
               输出:2
              diff --git "a/data/3.dailycode\351\253\230\351\230\266/3.python/7.exercises/solution.md" "b/data/3.dailycode\351\253\230\351\230\266/3.python/7.exercises/solution.md"
              index a761b338a..570bcc789 100644
              --- "a/data/3.dailycode\351\253\230\351\230\266/3.python/7.exercises/solution.md"
              +++ "b/data/3.dailycode\351\253\230\351\230\266/3.python/7.exercises/solution.md"
              @@ -1,6 +1,6 @@
               # 最大矩形
               
              -

              给定一个仅包含 01 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。

               

              示例 1:

              输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]
              输出:
              6
              解释:
              最大矩形如上图所示。

              示例 2:

              输入:matrix = []
              输出:
              0

              示例 3:

              输入:matrix = [["0"]]
              输出:
              0

              示例 4:

              输入:matrix = [["1"]]
              输出:
              1

              示例 5:

              输入:matrix = [["0","0"]]
              输出:
              0

               

              提示:

              • rows == matrix.length
              • cols == matrix[0].length
              • 0 <= row, cols <= 200
              • matrix[i][j]'0''1'
              +

              给定一个仅包含 01 、大小为 rows x cols 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。

               

              示例 1:

              输入:matrix = [["1","0","1","0","0"],["1","0","1","1","1"],["1","1","1","1","1"],["1","0","0","1","0"]]
              输出:
              6
              解释:
              最大矩形如上图所示。

              示例 2:

              输入:matrix = []
              输出:
              0

              示例 3:

              输入:matrix = [["0"]]
              输出:
              0

              示例 4:

              输入:matrix = [["1"]]
              输出:
              1

              示例 5:

              输入:matrix = [["0","0"]]
              输出:
              0

               

              提示:

              • rows == matrix.length
              • cols == matrix[0].length
              • 0 <= row, cols <= 200
              • matrix[i][j]'0''1'
              以下程序实现了这一功能,请你填补空白处内容: -- GitLab