/
TreeNode.java
91 lines (74 loc) · 1.31 KB
/
TreeNode.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/*
* @Author: Ajk Palikuqi
*
* @Question: How to implement a Binary Tree in Java.
*
*/
package iqLib.treeLib;
public class TreeNode
{
private int value;
private TreeNode left;
private TreeNode right;
private TreeNode parent;
private int size;
public TreeNode(int newValue)
{
value = newValue;
size = 1;
}
public int getValue()
{
return value;
}
public void setValue(int newValue)
{
value = newValue;
}
public int getHeight()
{
int leftHeight = 0;
int rightHeight = 0;
if (left != null)
{
leftHeight = left.getHeight();
}
if (right != null)
{
rightHeight = left.getHeight();
}
return Math.max(leftHeight, rightHeight) + 1;
}
public int getSize()
{
return size;
}
public TreeNode getLeft()
{
return left;
}
public void setLeft(TreeNode newLeft)
{
left = newLeft;
if (newLeft != null)
{
newLeft.parent = this;
}
}
public TreeNode getRight()
{
return right;
}
public void setRight(TreeNode newRight)
{
right = newRight;
if (newRight != null)
{
newRight.parent = this;
}
}
public TreeNode getParent()
{
return parent;
}
}