@@ -12,8 +12,9 @@ public class _270 {
1212 class GeneralTreeSolution {
1313 //this finished in 1 ms
1414 public int closestValue (TreeNode root , double target ) {
15- if (root == null )
15+ if (root == null ) {
1616 return 0 ;
17+ }
1718 double delta = Double .MAX_VALUE ;
1819 return dfs (root , target , delta , root .val );
1920 }
@@ -24,11 +25,13 @@ private int dfs(TreeNode root, double target, double delta, int closestVal) {
2425 delta = Math .abs (root .val - target );
2526 }
2627 int leftVal = closestVal ;
27- if (root .left != null )
28+ if (root .left != null ) {
2829 leftVal = dfs (root .left , target , delta , closestVal );
30+ }
2931 int rightVal = closestVal ;
30- if (root .right != null )
32+ if (root .right != null ) {
3133 rightVal = dfs (root .right , target , delta , closestVal );
34+ }
3235 return (Math .abs (leftVal - target ) > Math .abs (rightVal - target )) ? rightVal : leftVal ;
3336 }
3437 }
@@ -37,12 +40,16 @@ class BSTSolutionRecursive {
3740 //we can tailor the solution to use the BST feature: left subtrees are always smaller than the root the right subtrees
3841 //this finished in 0 ms
3942 public int closestValue (TreeNode root , double target ) {
40- if (root == null ) return 0 ;
43+ if (root == null ) {
44+ return 0 ;
45+ }
4146 return dfs (root , target , root .val );
4247 }
4348
4449 private int dfs (TreeNode root , double target , int minVal ) {
45- if (root == null ) return minVal ;
50+ if (root == null ) {
51+ return minVal ;
52+ }
4653 if (Math .abs (root .val - target ) < Math .abs (minVal - target )) {
4754 minVal = root .val ;
4855 }
@@ -57,13 +64,16 @@ private int dfs(TreeNode root, double target, int minVal) {
5764
5865 class GeneralTreeSolutionMoreConcise {
5966 public int closestValue (TreeNode root , double target ) {
60- if (root == null ) return 0 ;
67+ if (root == null ) {
68+ return 0 ;
69+ }
6170 return dfs (root , target , root .val );
6271 }
6372
6473 private int dfs (TreeNode root , double target , int minVal ) {
65- if (root == null )
74+ if (root == null ) {
6675 return minVal ;
76+ }
6777 if (Math .abs (root .val - target ) < Math .abs (minVal - target )) {
6878 minVal = root .val ;
6979 }
@@ -80,8 +90,11 @@ public int closestValue(TreeNode root, double target) {
8090 if (Math .abs (root .val - target ) < Math .abs (minVal - target )) {
8191 minVal = root .val ;
8292 }
83- if (target < root .val ) root = root .left ;
84- else root = root .right ;
93+ if (target < root .val ) {
94+ root = root .left ;
95+ } else {
96+ root = root .right ;
97+ }
8598 }
8699 return minVal == Long .MAX_VALUE ? 0 : (int ) minVal ;
87100 }
0 commit comments