Skip to content

Commit 46a33cb

Browse files
committed
feat: add solutions to leetcode problem: No.1469. Find All The Lonely Nodes
1 parent bfb9a26 commit 46a33cb

File tree

4 files changed

+174
-4
lines changed

4 files changed

+174
-4
lines changed

solution/1400-1499/1469.Find All The Lonely Nodes/README.md

+58-2
Original file line numberDiff line numberDiff line change
@@ -80,15 +80,71 @@
8080
<!-- 这里可写当前语言的特殊实现逻辑 -->
8181

8282
```python
83-
83+
# Definition for a binary tree node.
84+
# class TreeNode:
85+
# def __init__(self, val=0, left=None, right=None):
86+
# self.val = val
87+
# self.left = left
88+
# self.right = right
89+
class Solution:
90+
def getLonelyNodes(self, root: TreeNode) -> List[int]:
91+
def traverse(root):
92+
if root is None:
93+
return
94+
if root.left is None and root.right is not None:
95+
self.res.append(root.right.val)
96+
if root.left is not None and root.right is None:
97+
self.res.append(root.left.val)
98+
traverse(root.left)
99+
traverse(root.right)
100+
self.res = []
101+
traverse(root)
102+
return self.res
84103
```
85104

86105
### **Java**
87106

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

90109
```java
91-
110+
/**
111+
* Definition for a binary tree node.
112+
* public class TreeNode {
113+
* int val;
114+
* TreeNode left;
115+
* TreeNode right;
116+
* TreeNode() {}
117+
* TreeNode(int val) { this.val = val; }
118+
* TreeNode(int val, TreeNode left, TreeNode right) {
119+
* this.val = val;
120+
* this.left = left;
121+
* this.right = right;
122+
* }
123+
* }
124+
*/
125+
class Solution {
126+
private List<Integer> res;
127+
128+
public List<Integer> getLonelyNodes(TreeNode root) {
129+
res = new ArrayList<>();
130+
traverse(root);
131+
return res;
132+
}
133+
134+
private void traverse(TreeNode root) {
135+
if (root == null) {
136+
return;
137+
}
138+
if (root.left == null && root.right != null) {
139+
res.add(root.right.val);
140+
}
141+
if (root.left != null && root.right == null) {
142+
res.add(root.left.val);
143+
}
144+
traverse(root.left);
145+
traverse(root.right);
146+
}
147+
}
92148
```
93149

94150
### **...**

solution/1400-1499/1469.Find All The Lonely Nodes/README_EN.md

+58-2
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,69 @@ All other nodes are lonely.
6969
### **Python3**
7070

7171
```python
72-
72+
# Definition for a binary tree node.
73+
# class TreeNode:
74+
# def __init__(self, val=0, left=None, right=None):
75+
# self.val = val
76+
# self.left = left
77+
# self.right = right
78+
class Solution:
79+
def getLonelyNodes(self, root: TreeNode) -> List[int]:
80+
def traverse(root):
81+
if root is None:
82+
return
83+
if root.left is None and root.right is not None:
84+
self.res.append(root.right.val)
85+
if root.left is not None and root.right is None:
86+
self.res.append(root.left.val)
87+
traverse(root.left)
88+
traverse(root.right)
89+
self.res = []
90+
traverse(root)
91+
return self.res
7392
```
7493

7594
### **Java**
7695

7796
```java
78-
97+
/**
98+
* Definition for a binary tree node.
99+
* public class TreeNode {
100+
* int val;
101+
* TreeNode left;
102+
* TreeNode right;
103+
* TreeNode() {}
104+
* TreeNode(int val) { this.val = val; }
105+
* TreeNode(int val, TreeNode left, TreeNode right) {
106+
* this.val = val;
107+
* this.left = left;
108+
* this.right = right;
109+
* }
110+
* }
111+
*/
112+
class Solution {
113+
private List<Integer> res;
114+
115+
public List<Integer> getLonelyNodes(TreeNode root) {
116+
res = new ArrayList<>();
117+
traverse(root);
118+
return res;
119+
}
120+
121+
private void traverse(TreeNode root) {
122+
if (root == null) {
123+
return;
124+
}
125+
if (root.left == null && root.right != null) {
126+
res.add(root.right.val);
127+
}
128+
if (root.left != null && root.right == null) {
129+
res.add(root.left.val);
130+
}
131+
traverse(root.left);
132+
traverse(root.right);
133+
}
134+
}
79135
```
80136

81137
### **...**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* public class TreeNode {
4+
* int val;
5+
* TreeNode left;
6+
* TreeNode right;
7+
* TreeNode() {}
8+
* TreeNode(int val) { this.val = val; }
9+
* TreeNode(int val, TreeNode left, TreeNode right) {
10+
* this.val = val;
11+
* this.left = left;
12+
* this.right = right;
13+
* }
14+
* }
15+
*/
16+
class Solution {
17+
private List<Integer> res;
18+
19+
public List<Integer> getLonelyNodes(TreeNode root) {
20+
res = new ArrayList<>();
21+
traverse(root);
22+
return res;
23+
}
24+
25+
private void traverse(TreeNode root) {
26+
if (root == null) {
27+
return;
28+
}
29+
if (root.left == null && root.right != null) {
30+
res.add(root.right.val);
31+
}
32+
if (root.left != null && root.right == null) {
33+
res.add(root.left.val);
34+
}
35+
traverse(root.left);
36+
traverse(root.right);
37+
}
38+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Definition for a binary tree node.
2+
# class TreeNode:
3+
# def __init__(self, val=0, left=None, right=None):
4+
# self.val = val
5+
# self.left = left
6+
# self.right = right
7+
class Solution:
8+
def getLonelyNodes(self, root: TreeNode) -> List[int]:
9+
def traverse(root):
10+
if root is None:
11+
return
12+
if root.left is None and root.right is not None:
13+
self.res.append(root.right.val)
14+
if root.left is not None and root.right is None:
15+
self.res.append(root.left.val)
16+
traverse(root.left)
17+
traverse(root.right)
18+
self.res = []
19+
traverse(root)
20+
return self.res

0 commit comments

Comments
 (0)