File tree Expand file tree Collapse file tree 4 files changed +174
-4
lines changed
solution/1400-1499/1469.Find All The Lonely Nodes Expand file tree Collapse file tree 4 files changed +174
-4
lines changed Original file line number Diff line number Diff line change 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### ** ...**
Original file line number Diff line number Diff 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 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