File tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * Definition for a binary tree node.
3
+ * function TreeNode(val, left, right) {
4
+ * this.val = (val===undefined ? 0 : val)
5
+ * this.left = (left===undefined ? null : left)
6
+ * this.right = (right===undefined ? null : right)
7
+ * }
8
+ */
9
+ /**
10
+ * DFS | Tree-traversal
11
+ * Time O(n) | Space O(1)
12
+ * https://leetcode.com/problems/evaluate-boolean-binary-tree
13
+ * @param {TreeNode } root
14
+ * @return {boolean }
15
+ */
16
+ var evaluateTree = function ( root ) {
17
+ return dfs ( root ) ;
18
+ } ;
19
+
20
+ const dfs = ( node ) => {
21
+
22
+ if ( ! node . left && ! node . right && node . val ) return true ;
23
+ if ( ! node . left && ! node . right && ! node . val ) return false ;
24
+
25
+ const is2 = ( node . val === 2 ) ;
26
+ if ( is2 ) return dfs ( node . left ) || dfs ( node . right ) ;
27
+
28
+ const is3 = ( node . val === 3 ) ;
29
+ if ( is3 ) return dfs ( node . left ) && dfs ( node . right ) ;
30
+
31
+ }
You can’t perform that action at this time.
0 commit comments