File tree 4 files changed +174
-4
lines changed
solution/1400-1499/1469.Find All The Lonely Nodes
4 files changed +174
-4
lines changed Original file line number Diff line number Diff line change 80
80
<!-- 这里可写当前语言的特殊实现逻辑 -->
81
81
82
82
``` 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
84
103
```
85
104
86
105
### ** Java**
87
106
88
107
<!-- 这里可写当前语言的特殊实现逻辑 -->
89
108
90
109
``` 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
+ }
92
148
```
93
149
94
150
### ** ...**
Original file line number Diff line number Diff line change @@ -69,13 +69,69 @@ All other nodes are lonely.
69
69
### ** Python3**
70
70
71
71
``` 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
73
92
```
74
93
75
94
### ** Java**
76
95
77
96
``` 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
+ }
79
135
```
80
136
81
137
### ** ...**
Original file line number Diff line number Diff line change
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 number Diff line number Diff line change
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
You can’t perform that action at this time.
0 commit comments