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 e193cacbc3cb435470d7bbb084cd93b8410bf9e1..8b86d3942dfb85d74d4f7f615f7761c559dabc6a 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 56a72c7157de3f871a550157e8c9929344e66f20..a5dc50c0c3c53c0924729620bb87ad7d326e498c 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 527bf93653ace3589d306515f19376dba323167c..6c6f1954fb694ee8ca4c84ff2bc20ae8d81902f7 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 b42acb06bfbfdd1639ae51cec00097c6e87e6871..432be48a11b62401afa38f961321c90071e4c489 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 e9885e58509b02734101f283f0da25635864ad0e..3e25eae3646a36fb993d02fb00ae1b5a5c9ffaa3 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 de78c7844a17782366bf1425b5b6cbe79fe3d03e..07b5d6cf5a2716abadcfd857a57444ec40c8772f 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 6d587b1cc6d884e9cbb1571da110bbbb9a945d0e..5c75ea21d4044e783ed678e7030eab212a3b9c1a 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 4b9548af0cff603632941f732a3006239b8e1753..a40978adf66adf7ddadb47c66ccb9e2cc83f71c7 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 818e6a2e20b34f40749e4b8edd5c262a3ec9f1a8..a6f5d8dbe2445e690c06cb6fe25c70bbdd034ea9 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 4b34eddad1d3a5b53503fb1a9b3657f7768e5aa9..6c82813960ec4c859be3b09fc2221b99ef449159 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 9fd32f3f95c9da6f5543309195259993612160e1..9ff699cb7d3b6763d3f77633f730ab64cf2578b1 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 2bd533e93583028741b4afbde7cdc0d6788db3fc..7bdb8a86cc69902e162e520a6ff304224d9682fa 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 7ddce001c1764530dd92cc5e45a7419416b3bf5f..307e4c19be55b7855f56cbbf2ed514ce40b07b5c 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 b61b818cbd7d3b34b7afed76b153a24990b50c28..911b10b65823b2b4ec9577b31d37423ddd7fb52a 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 542a7df22b51a1fee0675ae78c9c8f9ca37b07fc..bcf8cf0542f3c1ae4fef6bfefb64573c9d12873c 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 <= 100l1 和 l2 均按 非递减顺序 排列将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例 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 <= 100l1 和 l2 均按 非递减顺序 排列存在一个按升序排列的链表,给你这个链表的头节点 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给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例 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给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例 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给定一个二叉树的根节点 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 6211b94be3f97ecf1127c151249e78bc84546db3..da965ea4b4e6a523b3031584860001c7a1caad4a 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 <= 100l1 和 l2 均按 非递减顺序 排列将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例 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 <= 100l1 和 l2 均按 非递减顺序 排列存在一个按升序排列的链表,给你这个链表的头节点 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给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例 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给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例 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给定一个二叉树的根节点 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 9656e855510746a2e2ef7a20c1ba61d15bcc2421..e88ce2d545734c0e3e569906f4790f184a564539 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 ceca68b567883670d4a0d6a3cc241be802d5b90b..520866c8b4f3b47c00ac8631854433be9ddb2904 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 168561774d495e6881b45c89312825e911565987..9e3629b4e9b22050e402cf8bdb45db1e2f509948 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 91a7a5c082db6f446fd095b43bd17d22a24304f6..43b7a1b7c25cf94548394fd3d8d5945f15a12ed4 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 c032f3a5cec8c022f6c5f2c5ff5faca3ad64af55..ea938a63f8a352f6f8e5138dea71957d8082bea8 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 f7c1b9096c18f4e6cd88eae908e79707402e0b86..a7c45aa0b234d3351b622c4cf9f714a8033fd257 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 04feeba296420193fb2bf2e47cae370bff9f3386..3e2ce66ce948bf7fa12c0dce143df5feaef1c36a 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 80a37e8a782684a972f4a22b4a708287a3d8d4b9..5746bb9f5fcc54eb80d2d9f176aa048f8ba90dfb 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 1eff0ebcd8403af54742ea9cbde4e738b7fd8a73..69e41a9a64a2cf931ff6c6d71c893178e65f46d6 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 a3dd03ecd035c389f445a52e54141ef0356668ae..71ae45436d288567d066cf8a56ba4a18b26f80c4 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 07965ad56314eb852036ede7bd78ada4496d5376..3038968a981e488b837de078732379c70d9ff973 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 9be2cb38cc4a643df42b04403c5e61ff5e79c2fe..f3a35f89ecf6392bc10cb23db40d6f58e12cc0f8 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 7db8a0debe9464eb7a58db9219707711b68016b4..ee9e673a996eacd3deed259e4bdf3f554bd4771b 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 <= 100l1 和 l2 均按 非递减顺序 排列将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
示例 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 <= 100l1 和 l2 均按 非递减顺序 排列存在一个按升序排列的链表,给你这个链表的头节点 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给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例 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给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例 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给定一个二叉树的根节点 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 ebc0d0fddcd8d2fdbb4b0d75a665b8a825af860f..e7ef38ce887314006cd25f729d5f779c403d417e 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 eb6a3c25b8d9c152edefd1e464879622062ea89c..09d63edb33ca7a1be3ba1c455d4434a8acacc303 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 abe62efd905968e7bf4e5cd1fe186638be7eefab..84e88ab2ce1c777b3566731bdb6877175913d49c 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 5c554b851767e7af97a94af4dfa9ce0f6281a782..575d34fa7223cb256b8e6b6ccd32d3f4806d688b 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 992b73bcd53eb8f071b0e7a6ef1f23ed50648f8b..c0f2eab78dfeec700426985f4ee0cef2eee74a7e 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 40e04550d90fe53df1ad9b38062a8c75ce43867b..5bf1cecc653c092cad13e9859cf4344dae5a50b5 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 1f1b4ca44ecaca22a87d1f4f77c4480704d56dcf..1e84cda3b4ba58ae2e26767797e4456e46e1e04b 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 4f5736bbc4e993e4b41bb1a06d54dae62c4d7f3e..73f6e557e0d288ddab1d14df595a50e32a0c64ca 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 09478dd854ff44ad18c0a8cdfd358e67fe61a18b..dc8db4280f3900c9d1136cd63293ce1b06c8b74f 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 c90595f14d96bfdfc9bbbdecff98a742a046f49b..c76ca7b8e9fe4d7568464b465f18652b8d0e04bb 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 632ad8989835f47774dcfc9beec91e77ca68dbc8..df95481776ab754fb84844651403d3f337657bac 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 5f206779e814489bd299404fa9cfc3a9d449a58f..a4a5c14408c3a23b70f112301a93d9da444f1c4d 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 436bf0907707e22ef63e184273ea432db94b2d54..cd090b4ba66d02b42df4fc2734aa166849c1a0ed 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 cd76118caaaa542366a9d3b83dc06b084409fe3b..36e7c6eb6516508b5fe40f044c1bce8b5e3b4bf3 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 89b5548bc69699af056d1511803de6abb3e61ac2..ed08f54b2ed6e0a8e9d32835c82c882a32f049d5 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 ff6fecccfc730f9f343ed12eecc8bfc021e7752d..182c8a981801d8284fee144a8749f6440e241afe 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 d926ada5126c44532acd7b23a7d93420d2f33e2b..7a227922ce6fee718fb52f13bd81260c85a4eb51 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 7872033b6dec78880fb797e5e033a2135f516c0f..6b47c515837dff45b8d9f0222c5cabed36e2abe2 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 cd8e1e2b0a50a6d67db52790c849b328b4f08bc1..16a4900c7c3833e1826a6bfdd521ca38e0ab648f 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 517ce6fbefb4a2b49be2e2ba215c58a23f8f7a4b..8a08228a16f320af2d3e38ee4913d05de61d564d 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 1e7b0621453a107ce7105cb075967d0a66f0d4c2..1073feb97418324aacacdaa3bed7237fb48afb71 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 a98d76cd2d552bbc35274b947249ba099accf6fd..00aea3304861446ffd0ede46e4f8639b253deb73 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 0a79020ca1d72c9ccd7d23ef3197e1fbd73d0fe8..466161676eb0cc0b3f1809629552614b50c24597 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问总共有多少条不同的路径?
示例 1:
+ src="https://img-service.csdnimg.cn/img_convert/099169dc43ebe3d42afb948803f38eda.png" />
输入:m = 3, n = 7
输出:28
示例 2:
输入:m = 3, n = 2diff --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 940854b277d02afa74110d28a0e5593f30fe0f66..6e16c3b4d0ac77d1ed95ec3c24aea169a59645e7 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 @@ # 电话号码的字母组合 -
输出:3
解释:从左上角开始,总共有 3 条路径可以到达右下角。
1. 向右 -> 向下 -> 向下
2. 向下 -> 向下 -> 向右
3. 向下 -> 向右 -> 向下
给定一个仅包含数字 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 <= 4digits[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 <= 4digits[i] 是范围 ['2', '9'] 的一个数字。示例 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 2442a1c00ad6900a75a618617127b1fc6a5cd6b5..733d83322eaf2ccc54da9534eea44ad5aeba9c14 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 3d276ecdd022c7bc47021476388ea6ccec4e4817..4dc392854bcad5ae528bdd89373a5e86a757859d 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" 的描述如下图:
给你一个链表的头节点 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 <= 1000 <= 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 <= 1000 <= k <= 2 * 109一个整型数组有10元素,请先给这10个元素赋值,然后随便输入一个数,最后输出数组中比这个数小的所有元素,每个数用空格隔开,如果没有找到,则输出not find。
+
给定一个 n × 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 == nmatrix[i].length == n1 <= n <= 20-1000 <= matrix[i][j] <= 1000给定一个 n × 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 == nmatrix[i].length == n1 <= n <= 20-1000 <= matrix[i][j] <= 1000给你 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.length2 <= n <= 3 * 1040 <= 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.length2 <= n <= 3 * 1040 <= height[i] <= 3 * 104给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。
请你将两个数相加,并以相同形式返回一个表示和的链表。
你可以假设除了数字 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给你一个链表的头节点 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给你一个 m 行 n 列的矩阵 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.lengthn == matrix[i].length1 <= m, n <= 10-100 <= matrix[i][j] <= 100给你一个 m 行 n 列的矩阵 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.lengthn == matrix[i].length1 <= m, n <= 10-100 <= matrix[i][j] <= 100编写一个高效的算法来判断 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.lengthn == matrix[i].length1 <= 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.lengthn == matrix[i].length1 <= m, n <= 100-104 <= matrix[i][j], target <= 104给定一个 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.lengthn == matrix[0].length1 <= 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.lengthn == matrix[0].length1 <= m, n <= 200-231 <= matrix[i][j] <= 231 - 1head 和两个整数 left 和 right ,其中 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]
提示:
n1 <= n <= 500-500 <= Node.val <= 5001 <= left <= right <= n
进阶: 你可以使用一趟扫描完成反转吗?
+给你单链表的头指针head 和两个整数 left 和 right ,其中 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]
提示:
n1 <= n <= 500-500 <= Node.val <= 5001 <= 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 2528efd6b4422fb7e7ae94ecfd377e04ac3766c1..8740804603d99e826d910cfc28f82e5a3a15a8ba 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.lengthn == grid[i].length1 <= m, n <= 2000 <= 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.lengthn == grid[i].length1 <= m, n <= 2000 <= grid[i][j] <= 100给你一个链表,删除链表的倒数第 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]
提示:
sz1 <= sz <= 300 <= Node.val <= 1001 <= 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]
提示:
sz1 <= sz <= 300 <= Node.val <= 1001 <= n <= sz给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。
两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:
s = s1 + s2 + ... + snt = t1 + t2 + ... + tm|n - m| <= 1s1 + t1 + s2 + t2 + s3 + t3 + ... 或者 t1 + s1 + t2 + s2 + t3 + s3 + ...提示:a + b 意味着字符串 a 和 b 连接。
示例 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 <= 1000 <= s3.length <= 200s1、s2、和 s3 都由小写英文字母组成给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。
两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:
s = s1 + s2 + ... + snt = t1 + t2 + ... + tm|n - m| <= 1s1 + t1 + s2 + t2 + s3 + t3 + ... 或者 t1 + s1 + t2 + s2 + t3 + s3 + ...提示:a + b 意味着字符串 a 和 b 连接。
示例 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 <= 1000 <= s3.length <= 200s1、s2、和 s3 都由小写英文字母组成给定一个 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.lengthn = board[i].length1 <= m, n <= 61 <= word.length <= 15board 和 word 仅由大小写英文字母组成
进阶:你可以使用搜索剪枝的技术来优化解决方案,使其在 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.lengthn = board[i].length1 <= m, n <= 61 <= word.length <= 15board 和 word 仅由大小写英文字母组成
进阶:你可以使用搜索剪枝的技术来优化解决方案,使其在 board 更大的情况下可以更快解决问题?
示例 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 224a97f1049394691d6efcfaf652e94c4381d026..0d3a12cdb3ba394b85cf7ca0e859bd08ba5f5658 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给你一个正整数 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给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。
你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
示例 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 6e68ee52284e8ba0fe88490496b7ef711db3ab53..412965990b0531ee75c7d1579188b32a3f24713c 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”)。
现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?
-

网格中的障碍物和空位置分别用 1 和 0 来表示。
示例 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 cc9aa5af6c4d7ae4fe7a0f0a930768881ec82eeb..b68dcd4d76e2b4374c0e02bde25dbd1bb768722a 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 5469faf018853f2bdebfddcec127ae5a14c83dab..4085bc625265c5f431f296c8e5ab360de6534092 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 c53bd9dc0e0f0c954a78940c10bd8c01f057b012..3c5848d8853cfdec6214c920985009122814c5d1 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 dbe68d297b81c7133be5f5201b97783e8a6ca2a8..b6a7254d77aa486138339d2492274556a83490ae 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 403d34145c1386c63bda2e345649675a35fee8c6..c304ffdb75dea161f678b92c99ee876ec550de81 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 d37f6b23bbfc07098e080ccad607cf2ca03127ad..f0480fcae96d52545469ea56bf510ad3f31042bd 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 9b117f71f3b16d30a97fa2f0b36e15bc57cffbf2..b01d3dad508c7072f1163fe5137376dd39d828c6 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 0f1f99f0005c3f00123078903285b2c78b1962ae..264aec42cad448e68a32c0f83748fe4b33ca7bdb 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 474f9ab1e0781bfc3b8749d70ec93d9008656127..b968d5d8b0f1799db6fa3970fccd4ec5b3655e1f 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 4bb94f2ad1a08f64f5a46d5b44a5316928d3ae9e..0eeaa348317d1ababf8383d5287b679b8b09d60c 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 3556c4f6a33305e8697f957d57e06e71c486534c..2f89083add6b841488d826ae0dcafebfced88ffa 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 ede72f62101237f9cb976254a8560b71ae213641..ffc8d6b51c77e3688e532b5cdf3f05aa4552aa28 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 × 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 × 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 4cdb67df84c2a5dbc01ad48062547ddf119786ab..62e6976c5f6eef02d9c01bc5b25632e32586e042 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 37d5cfd587e3a94935fab301881978bed7f43041..4030a358fdb4c49fd61b34f07390593ad7a07177 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 05aca400d073afaa38674f5e6b1730d4b6cbda0a..6e6c97ccda8109070ae6fcb8be0d4f53cb41ab57 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 2d33088319bad2c4c38428b47b002b56697e3987..b8b5cfa6821352c01e3f3bf931793f3d365c52b7 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 @@
# 螺旋矩阵
-给你一个 m 行 n 列的矩阵 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
+给你一个 m 行 n 列的矩阵 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 f7994d804dca088e5be78732652f61c96f6a2b74..98e1f9105ba3f1ef32d8560774ccc5f0f4241f78 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 5782ce2cbadce6f114dea17cf232d02d728a48e6..6e07b2a0ece688f056a44c3c1bab5dc2cfe7ff6b 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 f29396a8c370ff2b02552f4a0ebc245a0d9edd47..9651d626936d9fd40a5d3c550c156a6d7b70994b 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 和两个整数 left 和 right ,其中 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 和两个整数 left 和 right ,其中 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 524f0965a6851bcb238331e8fa66647df3ca0abb..684b9af0a75f7706bf6f19441aedba5316b5dfcf 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 28563a1a1b3c578854018818d36440d98ac4ae54..b18c594a63d003475624d4f47052daef8a79f902 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 5b10137a9cef987f6f738acfa144395cb9c1bc57..bf08e616db6e0a7b4a34f2246da44930a26f2db6 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 @@
# 交错字符串
-给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。
两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:
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 意味着字符串 a 和 b 连接。
示例 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 s1、s2、和 s3 都由小写英文字母组成
+给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。
两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:
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 意味着字符串 a 和 b 连接。
示例 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 s1、s2、和 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 a20d0041a18e905117edf1531ea8e003cd2d3c60..0a61804d6efc500d64318486eed1073c6ed7b935 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 board 和 word 仅由大小写英文字母组成
进阶:你可以使用搜索剪枝的技术来优化解决方案,使其在 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 board 和 word 仅由大小写英文字母组成
进阶:你可以使用搜索剪枝的技术来优化解决方案,使其在 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 fbed407046292ae4de12a796ca3331c3e6514d3e..56a58d30158c468993b538823ce07148b302d7fd 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 85d2e3daff22d05c6451e2842bdb8d6bf7ff153d..44d33467bc2e10e86c79246d13d35e7fc1b2a1f0 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 6fda3b8f2f64e8f8984f531ba61fa3e9c3b870f0..5216d9c361179f265d7677ed743a3beb61b84b13 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 6a41243329986efc80fc680df3225625adef411e..00e83e415ac44e183117b48d71f1a172a789ec6d 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 7d092db76b33261565af78904a2348d3b8d1451b..67edc708f096371ae2745d216e52a4fb9692b301 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 ff9c5c408fc3733d30c9593ff5183ae8a12565fa..3bc21bb07e5aacaf404d9679a350e1794843a741 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”)。
现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?
-

网格中的障碍物和空位置分别用 1 和 0 来表示。
示例 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 9bfba34f63dad98d95b2df5d3427eecbc791f33b..78b0937aa4a4cacebd1d61c55f337c4f75497dbb 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 4b44f326fce12330006c7cfdfc4d2425c78b6ff8..1170fb62b19f82f2008a1d43f516f8aa0162cf24 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 f6ae8e888a02f8cec21b94d75b34274913d8f54b..a21e9e337468b55c62b6e75a2eafeacf09798886 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 f97441f2119876d32710b6810587965c8ae9f71f..37ed92eacc4dfe4f4b2a9bb6ddb6b88822482d3a 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 8f0423e45fe2c459787b108002e36f10f805adba..f60bcc68ac79c0037fd2fd04943cb936935d45c9 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 ae2d602a85fa8379a20af2eb32e445d4183b73e0..378f0b4942260ff602b3835f2cbc751c1684034e 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 c65cee1f9ebf0ecee59e48a90af8489ecfd75f9a..aa7e938e635b2ad915f42232cc5e4c4a10050952 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 3efc558a4928c66d723ce22fd0b1447c9b7a959e..73ba64be2eda95e3b29a84e64c8ac060bba093e1 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 170cc8ffa22df807191e69ed83b16abf2ed8753e..20d9aba4bb0d42d9e7355a113bc9dc66b59229f7 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 b38073a29f06896f6db2a4ecfb99a04197f300d5..871de3064ec6135550ab215b1b502eee9f40af0b 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 eda011dcc6a96b6aca7c72be21ada4850de7149f..efa52728aa95a30a92f59ea741d06cbe6c295b57 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 40cd6228811f66cc6996647459b65a7980ed9941..b35428e2c7b815dc2b778207d7dab3a3a00721a8 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 7bbd3f3dd948a0c43b3e960358fddb7b83f1cba7..c82baf26888ff60fa8271e93bd940f00113bc351 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 a1c627ff7de937377bff7d76d084e6ddef01ad4f..c50925eaab86f2c461c218c23aac27683d073eab 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 bb862a6a5095775fd7248d243c91d9a3050b1ed6..77e447ffc0e0e0fa2d937a616f52c9eb4bacf5ce 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 db087f25b9690f9d4107cf78240a15d6bdfa591e..bee32c5b6cd5140bdc736b36414cc8475c86a4a2 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 807e519acef3ad1bb5df9bdc79413605c12f6baa..fc14666d0cc5ff3ec9a9b350253489a863ab3ffb 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 443cb4da3a13fd2e047ae09491ed71b8064772ba..b766514a3adf1f6b3c978557b4bc3ffc8ed4a4e0 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 161b2eff3975b9f82e92a9f58a25e3eca667af87..c80cf2a0c8fe4857d20fe425d8bafc70b7649244 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 f947c89be671b8c6e0aea4ba276f1239070d32a4..207d72bb1ab2802932513f02ebd9cd9597de0c18 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 e21839126b975c4009c27ca525b9e792c4a2848c..b9061c63b67fa0e59d7da6dfa8eb8b3a7d5e333d 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 744918da7a03fd1072badea2911416bbc7cb1bc6..9ed4b6233d037472e7af56876415add1bddb3205 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 × 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 × 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 a7a762d86dd04cc71c4942a1a8382dc505aeb39b..d2c3c80c4ba992d767e11109ae6da7a1af3fd798 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 10e1c29276a0e209a1a1fe35cf0781ba83396340..dad4720251c4b41698625dad65a19976ab0ac578 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 64fb4a9ed422980a3c1a31081379cde133eb5ba6..142d50c7cc2fc015c1fc6c8af5050c675e597313 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 26841d88f9ccfcf93996603d3162f84f66afa290..f4b00dc0454ed5af159db0f7c2b9549bc7bee49e 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 @@
# 螺旋矩阵
-给你一个 m 行 n 列的矩阵 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
+给你一个 m 行 n 列的矩阵 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 99bf19b09c43aa8330d62fe0bb753fca43e7815c..90b42a926370e6642d291b11d3a08e87aa36031f 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 880dfe359c31ceedb6850e381a86756a2afd9b26..3bb75c4381d32692631bd8696cef6a5fd05799e4 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 b9ae47a3c5b781f432d7b9d6ba207d9ea5959259..0f92275dd0388f638f056b1c705fae9b008c5e52 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 和两个整数 left 和 right ,其中 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 和两个整数 left 和 right ,其中 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 a8135c3207030f91c7034d2b694fc9ab2863fa3a..7f975a0514b5d89b7f5364e76c14ec8e7d75337f 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 8eb6eb9e47c0682cabf175271e97da2c0bc60fa2..77e5b53bfedbb0b378805950b1970d7fa9efa40b 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 58fab504f1f991ddb5054bd2dbae318844960887..d2bf916947beff69fbd3b654fa3e0b96f83451c6 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 @@
# 交错字符串
-给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。
两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:
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 意味着字符串 a 和 b 连接。
示例 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 s1、s2、和 s3 都由小写英文字母组成
+给定三个字符串 s1、s2、s3,请你帮忙验证 s3 是否是由 s1 和 s2 交错 组成的。
两个字符串 s 和 t 交错 的定义与过程如下,其中每个字符串都会被分割成若干 非空 子字符串:
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 意味着字符串 a 和 b 连接。
示例 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 s1、s2、和 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 0c987050711609a3be641b2499e65933a09ab94c..aca31cd873bf602aae236a86dc391a121d233747 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 8235c3cbdcb47cc66cb1bbd2a7c201f96cad8701..a994772679293ca90b84d81f7b54adc9160cc3d6 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 board 和 word 仅由大小写英文字母组成
进阶:你可以使用搜索剪枝的技术来优化解决方案,使其在 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 board 和 word 仅由大小写英文字母组成
进阶:你可以使用搜索剪枝的技术来优化解决方案,使其在 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 b03fe400e3fc22330baa4171d32e38f801e7b291..00dbf231b30809a3d3a680694370ede69ddf21ac 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 0f118aceb0088e51897cd5174eb27d9dd91a7ee4..b494767d4e4d68bfc9528eceb3e0ed7cfda08a12 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 04e96eae2b33601d2b683804e76aef20c450fcce..4c28e774cd9ca8c9b4f950313511702e0512aceb 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 d88bdb2db37761573f03b3da04e6fe778e467ffa..e77a1a6d0b0971462846309fa0933823e0fcefdc 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 506cf68deb1e425f99269ce378ef707e4e580a98..62fa3188858ff6acf6e563c56b417d4ca428ff59 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”)。
现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?
-

网格中的障碍物和空位置分别用 1 和 0 来表示。
示例 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 a64f6287d3c7d05943468ac65437b5f0cb2ccdf7..a44a47e74eda56358a5648d526efd0352b9e48af 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 202c59dba3059c3adef29a1ce4056a94d3212893..462efa88d1ebebb53bcc0c5b39d1e0e7ce4369ed 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 eeff7b84b021d4b340a895cda11f9881fdf49788..7705aefadba4b61938e42f3d3b435d3197bf80e0 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 dc71d0157e816040d03c57905a4570334ac46f21..77244b84bc305fc1d6855b6497483ac61845e4d5 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 ba2c8f3ea70ffd89f70a8acd858ebef55828450f..c94a6ced77d711de2a2169c7033eef209c3ca374 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 3a4ad32c131cfb73b3d6db7f7bc1dd0b5c0af610..7bd3f7bd368942b5818ea1b67011ee77fc597b42 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 fb9c095a21bc875ac31ed9aabb86f270e6907ab5..a674783b7abf05148c10b8874f0cd7431b507d18 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 02536fe5ae8c0601da6f7058685c5e39dfbe1320..b4d09a909c336de5a856e56ce3693053caeee7f2 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 7b4cf36c941dca644d1efbba0d00ec2cbd829565..c64f420da65211f58af265c01be216ba51bc44f1 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 cbe14681216fffb42a9ae58d1ceb7b619e1ffc38..798865f5b66771162d8dff57b6686df5c608d720 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 0fd25b8102288895705b7243368bc4026bc18f70..ecb692b206e0bd557e46502e2202c82b101e763b 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 258d3d65d36591f9e380d2eba5b78d5074725aaa..097b9da7033f2bbb9aac30be85b700bd3d35a3d2 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 905827313b0228b6d96e34aed42ce4b3d66e0d52..4b818599d56b9fa92dd18ef6680dc836052d7b44 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 71d5062a7dba7981a83b91b392a80a055ff517e4..b4b36ab2dbabbef47ae25e2eab11f713243acb2f 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 44d25d53cdfae753e4bdce58d8744b33898303c8..1f63d1410b96edff2bc569928a2f9912b272f648 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 20b37e585eabd449f9d9d1397981d7962becd82d..621b12e63668e231ee7a80ca5510a84971dec2e7 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 0294458bceae40daa95868123f4fac3db0cb6dfb..b9f4294503b9c5c15e9ff5b3fa8e55a0822f795f 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 7aa84111bde8804bf9f327ddc12415d9aa4899dc..18e7a1661f2a864d97f1ccd968f097dee3b91bf8 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 5df7e22e9aa7dd539d6bddb6e8aa1695d4f24585..ffe33832e61541819e16e8e063fb8efeebdf8fb1 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 e461153423cb06b23f379f9d86833eda4ca4f272..bee0dee403fea1a448a74e225914e296cb6aa9c8 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 289802c52755cb7444d5822458eebc0e107ac586..7f1166212d2b3906014537f99ab3ed5d96ba2282 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 9e8a964898ac822955709cd696fade1074f92c9e..a9bd091227b56ee8162d64ca7abe492a6f4f35b1 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 c59fc91156897122a8d30e7ce60693e58a60f158..db3d9b796864c62b418206dae564fc020048afbe 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 @@
# 最大矩形
-给定一个仅包含 0 和 1 、大小为 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'
+给定一个仅包含 0 和 1 、大小为 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 5748f4a9f37a69d798c09b0a6eeb8110547bf4b8..fe689776d4155a3aba501f68f3edb79b9fa99b7d 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 445edc9a60155fe49850ca395f5dc0fc066247a4..43dd3fc3bfeab880e589b7ad42c8899dd3351bd9 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 个一组翻转链表
-给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。
k 是一个正整数,它的值小于或等于链表的长度。
如果节点总数不是 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
+给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。
k 是一个正整数,它的值小于或等于链表的长度。
如果节点总数不是 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
以下程序实现了这一功能,请你填补空白处的内容:
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 6076c4909f0923b8e9be7f302e1feb106c908c15..23b2f4c068cc323816a0c111c24f751a92981451 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 33c07367782b0e45734dfb1a815158104ed77aca..64070ab0fd45c5bd9d357e2f466b89a8d83d36f9 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 3b47be88bd12a40f8f38fe890ec1994c4bd74918..fb1453059054b19d17859ef62c18157ad837d448 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 c3286e1ca5ae14e92bfa8df3219921b3b58c6377..7921c6d7624b507cc57ac26057b263e9019a2194 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 36524d2a938994aa996430b97de2061c60c216ea..2eb450c1f038b2badb6fa1f3f3b9aa66c47aa058 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 88cb6e09d079e8d14dbd0a5c04dba13686f61ff3..3f25e39daf274334f980ed5fbe13358dd96576f7 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 6d6563304c69ad070882f4cdf2eb613d9b41c96f..ac968417ab51cb7b7e5976fe51577ce4cd3b6a93 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 2de116311a9855a873a2b53179f997ce3ab2cd3b..2ebcb00666bbe56b9690d0bf2ec839abb67e2722 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 da0da4b58a1fb37762b8bae99e5fe64a372e707b..64251c9684b8ade1439874cc7f0b7ac2bf3ccd83 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 412bbd57721bc31fbe59b0222ee1fff29d5fb246..a80aa8d081dd6651733f99eb2f676045d9b3bf8f 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 3f00ef1076b16da6df4ee4f17cd22812b2caebd1..e46529d0ce31e996d470ea54b3ceea2606b6b04e 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 9295f87d9686fcb043ec0fcb089ed0e136e42367..d2e8260510460307ade50b39d9192e517f1eec22 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 个一组翻转链表
-给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。
k 是一个正整数,它的值小于或等于链表的长度。
如果节点总数不是 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
+给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。
k 是一个正整数,它的值小于或等于链表的长度。
如果节点总数不是 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
以下程序实现了这一功能,请你填补空白处内容:
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 4b3ada41ecfbffab80f413e0db6db2de5a699678..29a3be73082a198027f278d9ed9c0fb3695f303f 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 24727689f7bc9a16655053faf8f4e467f4efbb89..4d17474e87c18b97f0cb4c459412a9e8c513c749 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 5e877534173ec580e3a7c9d56fd761897dbf4e67..11c2741ef2377c0b087f68f04746acc3ea41ac4e 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 763c64572efad8aa306ca1e383a9ac2df64febfc..7b2cc9d3ae8e1f5ac640b787afe4c17c79c3a4c5 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 8062a438d5695a18718e8d68636842ff300d40c0..27fdd36da64dffc3935898160ff1d464faeeb93e 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 d94cce264e984990d923a5c6c9e06572e02e9527..67fa49afbdf1ed0962d38cf0b93b90de49540a52 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 5788761a0d838a8ab0f7e2c32b5b906f3f9d13a4..fe1f4b9c2f4ac2350568a5ad13d3d80f555d667a 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 86da387ede42f453237772f5457ffa304b11f539..9d3b648ded23aab343913236fc62f52fff57f26a 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 9fa9796387cb66c859c046213303240fe7e3cd2e..6da5bab9a100116a93ab32be1dd90748807b4444 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 af2ed686fc17587e13488a2f208ecefb51a4d15a..1212c7e15207dbe2cbc3a741fb8f8e5abaf009e1 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 6a32a61d47d97203c7fa2b09abf25239911632e6..d3179a3edab0f27de814d18266d6ad03bb3579ba 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 99505a71d7dc0f308370d91e11e5ba87e9c0295b..d641ba3bcc45791b33edc5474772cc9aa76ec84b 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 602d6ca59e43c4cdebaa518893d59bacf5fa1d8e..e723c2b1bdc1e15b1dfbc5f0a8caf9216acaa07d 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 @@
# 最大矩形
-给定一个仅包含 0 和 1 、大小为 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'
+给定一个仅包含 0 和 1 、大小为 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 c93b24c0554e3f7b38b4ce35011c735fec690d8e..5a6222c021a3e8560b7c23e6ab8074702cc68d1a 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 d980cd19f2fb7d0653413cf1bb85c02975b613f4..f70bcdbb8aa5f4540a18990b66ec92a333bcb304 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 个一组翻转链表
-给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。
k 是一个正整数,它的值小于或等于链表的长度。
如果节点总数不是 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
+给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。
k 是一个正整数,它的值小于或等于链表的长度。
如果节点总数不是 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
以下程序实现了这一功能,请你填补空白处内容:
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 cd6e1be59461e6663ccc3be018c6dcb16b97a4e4..f98d1792e107739ad482cdd597cdaf92cef91efc 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 bb3342d1efb1056f09446a8c48283b83c0d2f34b..1776786d2263854f29ae70e7074184e743e35a13 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 485d2174b3896a97d858bbb51473f8ddd04d0caf..e777f5ca787973512fea51f8287636c1f088a6b5 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 b9692a5aa1dee71bc9d812fefd5b1142b0cc4fe3..cd35823489905ab40a346fbd794a52aa3fead8c8 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 0cf0d174d6f4b1833a191f02d67411ca58864569..10becd5f06ba7f5b8c78bff2fbd943fdbc860ac2 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 074f84bb12b4c871c2df4967292a9e3aa29e44a8..27df9b5af630061780049ae140952fbfcc469173 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 3e02ac298fe2e0c1ca07d2634b944f1c7ee01b5c..383fc81b2e8c7f4179e2dce6517e36ffe07a8174 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 63b322445fb85d7ab3b28face331bac530274bcc..8d06e4065d325b9433123f30683a5a5854eba391 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 253823f3ddc22b2774456e67dec7cce6cc77b4e7..97889faa75c09913eebc0be4f527f6cfc0bae1cb 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 5aa71cb52679a5253d15658bed1f193048e98b13..0f8572550270aca4016e81a11914cbcfcf8d4298 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 b774ec014c1bc68c2c724e50de416a7703e5e0e4..01de38e34ce980bffed48d92541d194b5acdc9d4 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 42047179f528d277cf773745f7eada3a2de0bbd6..981841c14bb329e918735718f4ae3cff5024e9ba 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 a761b338af766f59193c7dcc131693a2449de537..570bcc789f53d561d76f9d1d5d14a514fe840bd5 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 @@
# 最大矩形
-给定一个仅包含 0 和 1 、大小为 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'
+给定一个仅包含 0 和 1 、大小为 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'
以下程序实现了这一功能,请你填补空白处内容: