File tree 1 file changed +60
-0
lines changed
1 file changed +60
-0
lines changed Original file line number Diff line number Diff line change
1
+ package tree ;
2
+
3
+ import common .TreeNode ;
4
+
5
+ /**
6
+ * Definition for a binary tree node.
7
+ * public class TreeNode {
8
+ * int val;
9
+ * TreeNode left;
10
+ * TreeNode right;
11
+ * TreeNode() {}
12
+ * TreeNode(int val) { this.val = val; }
13
+ * TreeNode(int val, TreeNode left, TreeNode right) {
14
+ * this.val = val;
15
+ * this.left = left;
16
+ * this.right = right;
17
+ * }
18
+ * }
19
+ */
20
+
21
+ // https://leetcode.com/problems/convert-bst-to-greater-tree/
22
+ public class ConvertBSTToGreaterTree {
23
+
24
+ private int sum = 0 ;
25
+
26
+ public TreeNode convertBST (TreeNode root ) {
27
+ if (root != null ) {
28
+ convertBST (root .right );
29
+ sum += root .val ;
30
+ root .val = sum ;
31
+ convertBST (root .left );
32
+ }
33
+
34
+ return root ;
35
+ }
36
+
37
+ public static void main (String [] args ) {
38
+ //TreeNode left1 = new TreeNode(2);
39
+ //TreeNode right1 = new TreeNode(13);
40
+ //
41
+ //TreeNode root = new TreeNode(5, left1, right1);
42
+
43
+ TreeNode left1 = new TreeNode (1 );
44
+ TreeNode right1 = new TreeNode (3 );
45
+
46
+ TreeNode rootLeft = new TreeNode (2 , left1 , right1 );
47
+
48
+ TreeNode left2 = new TreeNode (6 );
49
+ TreeNode right2 = new TreeNode (15 );
50
+
51
+ TreeNode rootRight = new TreeNode (13 , left2 , right2 );
52
+
53
+ TreeNode root = new TreeNode (5 , rootLeft , rootRight );
54
+
55
+ root .toString ();
56
+ ConvertBSTToGreaterTree obj = new ConvertBSTToGreaterTree ();
57
+ TreeNode result = obj .convertBST (root );
58
+ result .toString ();
59
+ }
60
+ }
You can’t perform that action at this time.
0 commit comments