Skip to content

Commit 6b332c0

Browse files
committed
Day 1 Challenge
1 parent c4b94b7 commit 6b332c0

File tree

4 files changed

+129
-12
lines changed

4 files changed

+129
-12
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
package com.kishan.java.leetcode.juneChallenges;
2+
3+
import com.kishan.java.leetcode.juneChallenges.TreeNode;
4+
5+
public class InvertTree {
6+
7+
public static TreeNode invertTree(TreeNode treeNode) {
8+
if (treeNode == null) {
9+
return treeNode;
10+
}
11+
TreeNode tree = swapTree(treeNode);
12+
tree.setLeft(invertTree(tree.getLeft()));
13+
tree.setRight(invertTree(tree.getRight()));
14+
return tree;
15+
}
16+
17+
public static TreeNode swapTree(TreeNode tree) {
18+
TreeNode temp = tree.getLeft();
19+
TreeNode left = tree.getRight();
20+
TreeNode right = temp;
21+
tree.setRight(right);
22+
tree.setLeft(left);
23+
return tree;
24+
}
25+
26+
public static void main(String[] args) {
27+
TreeNode treeNode = new TreeNode(4, new TreeNode(2, new TreeNode(1), new TreeNode(3)), new TreeNode(7, new TreeNode(6), new TreeNode(9)));
28+
29+
System.out.println("Before Inverting");
30+
System.out.println("root: " + treeNode.getValue());
31+
System.out.println("root.left: " + treeNode.getLeft().getValue());
32+
System.out.println("root.left.left: " + treeNode.getLeft().getLeft().getValue());
33+
System.out.println("root.left.right: " + treeNode.getLeft().getRight().getValue());
34+
System.out.println("root.right: " + treeNode.getRight().getValue());
35+
System.out.println("root.right.left: " + treeNode.getRight().getLeft().getValue());
36+
System.out.println("root.right.right: " + treeNode.getRight().getRight().getValue());
37+
38+
invertTree(treeNode);
39+
40+
System.out.println("\nAfter Inverting");
41+
System.out.println("root: " + treeNode.getValue());
42+
System.out.println("root.left: " + treeNode.getLeft().getValue());
43+
System.out.println("root.left.left " + treeNode.getLeft().getLeft().getValue());
44+
System.out.println("root.left.right " + treeNode.getLeft().getRight().getValue());
45+
System.out.println("root.right " + treeNode.getRight().getValue());
46+
System.out.println("root.right.left: " + treeNode.getRight().getLeft().getValue());
47+
System.out.println("root.right.right: " + treeNode.getRight().getRight().getValue());
48+
49+
50+
TreeNode swap = new TreeNode(4, new TreeNode(1), new TreeNode(3));
51+
52+
System.out.println("\nBefore Swapping");
53+
System.out.println("root: " + swap.getValue());
54+
System.out.println("left: " + swap.getLeft().getValue());
55+
System.out.println("right: " + swap.getRight().getValue());
56+
57+
System.out.println("\nAfter Swapping");
58+
59+
swapTree(swap);
60+
System.out.println("root: " + swap.getValue());
61+
System.out.println("left: " + swap.getLeft().getValue());
62+
System.out.println("right: " + swap.getRight().getValue());
63+
64+
}
65+
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
package com.kishan.java.leetcode.juneChallenges;
2+
3+
import sun.reflect.generics.tree.Tree;
4+
5+
public class TreeNode {
6+
private int value;
7+
private TreeNode left;
8+
private TreeNode right;
9+
10+
public TreeNode() {
11+
12+
}
13+
14+
public TreeNode(int value) {
15+
this();
16+
this.value = value;
17+
}
18+
19+
public TreeNode(int value, TreeNode left) {
20+
this(value);
21+
this.left = left;
22+
}
23+
24+
public TreeNode(int value, TreeNode left, TreeNode right) {
25+
this(value, left);
26+
this.right = right;
27+
}
28+
29+
public int getValue() {
30+
return value;
31+
}
32+
33+
public void setValue(int value) {
34+
this.value = value;
35+
}
36+
37+
public void setLeft(TreeNode left) {
38+
this.left = left;
39+
}
40+
41+
public void setRight(TreeNode right) {
42+
this.right = right;
43+
}
44+
45+
public TreeNode getLeft() {
46+
return left;
47+
}
48+
49+
public TreeNode getRight() {
50+
return right;
51+
}
52+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.kishan.scala.leetcode.juneChallenges
2+
3+
//Definition for a binary tree node.
4+
class TreeNode(_value: Int = 0, _left: TreeNode = null, _right: TreeNode = null) {
5+
var value: Int = _value
6+
var left: TreeNode = _left
7+
var right: TreeNode = _right
8+
}

src/main/scala/com/kishan/leetcode/juneChallenges/june1.scala renamed to src/main/scala/com/kishan/scala/leetcode/juneChallenges/invertTree.scala

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.kishan.leetcode.juneChallenges
1+
package com.kishan.scala.leetcode.juneChallenges
22

33
// Problem Statement:
44

@@ -27,18 +27,10 @@ package com.kishan.leetcode.juneChallenges
2727
*/
2828

2929

30-
//Definition for a binary tree node.
31-
class TreeNode(_value: Int = 0, _left: TreeNode = null, _right: TreeNode = null) {
32-
var value: Int = _value
33-
var left: TreeNode = _left
34-
var right: TreeNode = _right
35-
}
36-
37-
object june1 {
38-
30+
object invertTree {
3931

4032
def invertTree(_tree: TreeNode): TreeNode = {
41-
if(_tree == null){
33+
if (_tree == null) {
4234
return _tree
4335
}
4436
var tree = swapTree(_tree)
@@ -81,7 +73,7 @@ object june1 {
8173
var level_1_Left = new TreeNode(2, new TreeNode(1), new TreeNode(3))
8274
var level_1_Right = new TreeNode(7, new TreeNode(6), new TreeNode(9))
8375
var root = new TreeNode(4, level_1_Left, level_1_Right)
84-
// var root = new TreeNode(2, new TreeNode(3, new TreeNode(1)))
76+
// var root = new com.kishan.leetcode.juneChallenges.TreeNode(2, new com.kishan.leetcode.juneChallenges.TreeNode(3, new com.kishan.leetcode.juneChallenges.TreeNode(1)))
8577
var root1 = new TreeNode(2, new TreeNode(1), new TreeNode(3))
8678
println("Before Inverting")
8779
printElementInTree(root)

0 commit comments

Comments
 (0)