Skip to content

Commit d2b1e2c

Browse files
committed
Merge branch 'main' of github.com:doocs/leetcode into main
2 parents 548cf66 + c36580a commit d2b1e2c

File tree

10 files changed

+75
-78
lines changed

10 files changed

+75
-78
lines changed

lcof/面试题17. 打印从1到最大的n位数/README.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,17 @@
2525
```python
2626
class Solution:
2727
def printNumbers(self, n: int) -> List[int]:
28-
return [i for i in range(1, pow(10, n))]
28+
return [i for i in range(1, 10 ** n)]
2929
```
3030

3131
### **Java**
3232

3333
```java
3434
class Solution {
3535
public int[] printNumbers(int n) {
36-
int nums = (int) Math.pow(10, n);
37-
int[] res = new int[nums - 1];
38-
for (int i = 0; i < nums - 1; ++i) {
36+
n = (int) Math.pow(10, n) - 1;
37+
int[] res = new int[n];
38+
for (int i = 0; i < n; ++i) {
3939
res[i] = i + 1;
4040
}
4141
return res;
@@ -52,7 +52,7 @@ class Solution {
5252
*/
5353
var printNumbers = function (n) {
5454
let res = [];
55-
for (let i = 1; i < 10 ** n; i++) {
55+
for (let i = 1; i < 10 ** n; ++i) {
5656
res.push(i);
5757
}
5858
return res;
@@ -64,12 +64,12 @@ var printNumbers = function (n) {
6464
```go
6565
func printNumbers(n int) []int {
6666
d := 10
67-
for i :=1; i < n ; i++ {
67+
for i := 1; i < n; i++ {
6868
d *= 10
6969
}
70-
res := make([]int,d-1)
71-
for i:=1;i < d; i ++ {
72-
res[i-1] = i
70+
res := make([]int, d - 1)
71+
for i := 1; i < d; i++ {
72+
res[i - 1] = i
7373
}
7474
return res
7575
}
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
func printNumbers(n int) []int {
22
d := 10
3-
for i :=1; i < n ; i++ {
3+
for i := 1; i < n; i++ {
44
d *= 10
55
}
6-
res := make([]int,d-1)
7-
for i:=1;i < d; i ++ {
8-
res[i-1] = i
6+
res := make([]int, d - 1)
7+
for i := 1; i < d; i++ {
8+
res[i - 1] = i
99
}
1010
return res
1111
}

lcof/面试题17. 打印从1到最大的n位数/Solution.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
class Solution {
22
public int[] printNumbers(int n) {
3-
int nums = (int) Math.pow(10, n);
4-
int[] res = new int[nums - 1];
5-
for (int i = 0; i < nums - 1; ++i) {
3+
n = (int) Math.pow(10, n) - 1;
4+
int[] res = new int[n];
5+
for (int i = 0; i < n; ++i) {
66
res[i] = i + 1;
77
}
88
return res;

lcof/面试题17. 打印从1到最大的n位数/Solution.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*/
55
var printNumbers = function (n) {
66
let res = [];
7-
for (let i = 1; i < 10 ** n; i++) {
7+
for (let i = 1; i < 10 ** n; ++i) {
88
res.push(i);
99
}
1010
return res;
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
class Solution:
22
def printNumbers(self, n: int) -> List[int]:
3-
return [i for i in range(1, pow(10, n))]
3+
return [i for i in range(1, 10 ** n)]

lcof/面试题28. 对称的二叉树/README.md

+28-29
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,16 @@
5858

5959
class Solution:
6060
def isSymmetric(self, root: TreeNode) -> bool:
61+
def is_symmetric(left, right):
62+
if left is None and right is None:
63+
return True
64+
if left is None or right is None or left.val != right.val:
65+
return False
66+
return is_symmetric(left.left, right.right) and is_symmetric(left.right, right.left)
6167
if root is None:
6268
return True
63-
return self.symmetric(root.left, root.right)
69+
return is_symmetric(root.left, root.right)
6470

65-
def symmetric(self, node1, node2) -> bool:
66-
if node1 is None and node2 is None:
67-
return True
68-
if node1 is None or node2 is None or node1.val != node2.val:
69-
return False
70-
return self.symmetric(node1.left, node2.right) and self.symmetric(node1.right, node2.left)
7171
```
7272

7373
### **Java**
@@ -84,20 +84,14 @@ class Solution:
8484
*/
8585
class Solution {
8686
public boolean isSymmetric(TreeNode root) {
87-
if (root == null) {
88-
return true;
89-
}
87+
if (root == null) return true;
9088
return isSymmetric(root.left, root.right);
9189
}
9290

93-
private boolean isSymmetric(TreeNode node1, TreeNode node2) {
94-
if (node1 == null && node2 == null) {
95-
return true;
96-
}
97-
if (node1 == null || node2 == null || node1.val != node2.val) {
98-
return false;
99-
}
100-
return isSymmetric(node1.left, node2.right) && isSymmetric(node1.right, node2.left);
91+
private boolean isSymmetric(TreeNode left, TreeNode right) {
92+
if (left == null && right == null) return true;
93+
if (left == null || right == null || left.val != right.val) return false;
94+
return isSymmetric(left.left, right.right) && isSymmetric(left.right, right.left);
10195
}
10296
}
10397
```
@@ -117,10 +111,10 @@ class Solution {
117111
* @return {boolean}
118112
*/
119113
var isSymmetric = function (root) {
120-
function dfs(a, b) {
121-
if (!a && !b) return true;
122-
if (!a || !b) return false;
123-
return a.val === b.val && dfs(a.left, b.right) && dfs(a.right, b.left);
114+
function dfs(left, right) {
115+
if (!left && !right) return true;
116+
if (!left || !right || left.val != right.val) return false;
117+
return dfs(left.left, right.right) && dfs(left.right, right.left);
124118
}
125119
if (!root) return true;
126120
return dfs(root.left, root.right);
@@ -130,24 +124,29 @@ var isSymmetric = function (root) {
130124
### **Go**
131125

132126
```go
127+
/**
128+
* Definition for a binary tree node.
129+
* type TreeNode struct {
130+
* Val int
131+
* Left *TreeNode
132+
* Right *TreeNode
133+
* }
134+
*/
133135
func isSymmetric(root *TreeNode) bool {
134136
if root == nil {
135137
return true
136138
}
137139
return isSymme(root.Left, root.Right)
138140
}
139141

140-
func isSymme(a *TreeNode, b *TreeNode) bool {
141-
if a == nil && b == nil {
142+
func isSymme(left *TreeNode, right *TreeNode) bool {
143+
if left == nil && right == nil {
142144
return true
143145
}
144-
if a == nil || b ==nil {
145-
return false
146-
}
147-
if a.Val != b.Val {
146+
if left == nil || right == nil || left.Val != right.Val {
148147
return false
149148
}
150-
return isSymme(a.Left,b.Right) && isSymme(a.Right, b.Left)
149+
return isSymme(left.Left, right.Right) && isSymme(left.Right, right.Left)
151150
}
152151
```
153152

Original file line numberDiff line numberDiff line change
@@ -1,19 +1,24 @@
1-
func isSymmetric(root *TreeNode) bool {
1+
/**
2+
* Definition for a binary tree node.
3+
* type TreeNode struct {
4+
* Val int
5+
* Left *TreeNode
6+
* Right *TreeNode
7+
* }
8+
*/
9+
func isSymmetric(root *TreeNode) bool {
210
if root == nil {
311
return true
412
}
513
return isSymme(root.Left, root.Right)
614
}
715

8-
func isSymme(a *TreeNode, b *TreeNode) bool {
9-
if a == nil && b == nil {
16+
func isSymme(left *TreeNode, right *TreeNode) bool {
17+
if left == nil && right == nil {
1018
return true
1119
}
12-
if a == nil || b ==nil {
20+
if left == nil || right == nil || left.Val != right.Val {
1321
return false
1422
}
15-
if a.Val != b.Val {
16-
return false
17-
}
18-
return isSymme(a.Left,b.Right) && isSymme(a.Right, b.Left)
23+
return isSymme(left.Left, right.Right) && isSymme(left.Right, right.Left)
1924
}

lcof/面试题28. 对称的二叉树/Solution.java

+5-11
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,13 @@
99
*/
1010
class Solution {
1111
public boolean isSymmetric(TreeNode root) {
12-
if (root == null) {
13-
return true;
14-
}
12+
if (root == null) return true;
1513
return isSymmetric(root.left, root.right);
1614
}
1715

18-
private boolean isSymmetric(TreeNode node1, TreeNode node2) {
19-
if (node1 == null && node2 == null) {
20-
return true;
21-
}
22-
if (node1 == null || node2 == null || node1.val != node2.val) {
23-
return false;
24-
}
25-
return isSymmetric(node1.left, node2.right) && isSymmetric(node1.right, node2.left);
16+
private boolean isSymmetric(TreeNode left, TreeNode right) {
17+
if (left == null && right == null) return true;
18+
if (left == null || right == null || left.val != right.val) return false;
19+
return isSymmetric(left.left, right.right) && isSymmetric(left.right, right.left);
2620
}
2721
}

lcof/面试题28. 对称的二叉树/Solution.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
* @return {boolean}
1111
*/
1212
var isSymmetric = function (root) {
13-
function dfs(a, b) {
14-
if (!a && !b) return true;
15-
if (!a || !b) return false;
16-
return a.val === b.val && dfs(a.left, b.right) && dfs(a.right, b.left);
13+
function dfs(left, right) {
14+
if (!left && !right) return true;
15+
if (!left || !right || left.val != right.val) return false;
16+
return dfs(left.left, right.right) && dfs(left.right, right.left);
1717
}
1818
if (!root) return true;
1919
return dfs(root.left, root.right);

lcof/面试题28. 对称的二叉树/Solution.py

+7-8
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,12 @@
77

88
class Solution:
99
def isSymmetric(self, root: TreeNode) -> bool:
10+
def is_symmetric(left, right):
11+
if left is None and right is None:
12+
return True
13+
if left is None or right is None or left.val != right.val:
14+
return False
15+
return is_symmetric(left.left, right.right) and is_symmetric(left.right, right.left)
1016
if root is None:
1117
return True
12-
return self.symmetric(root.left, root.right)
13-
14-
def symmetric(self, node1, node2) -> bool:
15-
if node1 is None and node2 is None:
16-
return True
17-
if node1 is None or node2 is None or node1.val != node2.val:
18-
return False
19-
return self.symmetric(node1.left, node2.right) and self.symmetric(node1.right, node2.left)
18+
return is_symmetric(root.left, root.right)

0 commit comments

Comments
 (0)