Skip to content

Commit 6b37dec

Browse files
author
chenweijie
committed
二叉树
1 parent 76424f8 commit 6b37dec

File tree

1 file changed

+85
-0
lines changed

1 file changed

+85
-0
lines changed
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
package com.chen.algorithm.exercise.exercise4;
2+
3+
/**
4+
* @author Chen WeiJie
5+
* @date 2020-04-21 18:07:23
6+
**/
7+
public class TwoBranchTree {
8+
9+
10+
public static class TreeNode {
11+
12+
int value;
13+
14+
TreeNode leftNode;
15+
16+
TreeNode rightNode;
17+
18+
}
19+
20+
21+
private TreeNode root = new TreeNode();
22+
23+
24+
/**
25+
* 二叉树查找
26+
*
27+
* @param value
28+
* @return
29+
*/
30+
public TreeNode findNode(int value) {
31+
32+
if (root == null) {
33+
return null;
34+
}
35+
36+
while (true) {
37+
38+
if (root == null) {
39+
return null;
40+
}
41+
42+
if (root.value == value) {
43+
return root;
44+
} else if (value > root.value) {
45+
root = root.rightNode;
46+
} else {
47+
root = root.leftNode;
48+
}
49+
}
50+
}
51+
52+
53+
public void insertNode(TreeNode newNode) {
54+
55+
56+
TreeNode parent = root;
57+
while (true) {
58+
if (root == null) {
59+
break;
60+
}
61+
62+
parent = root;
63+
if (root.value < newNode.value) {
64+
root = root.rightNode;
65+
} else {
66+
root = root.leftNode;
67+
}
68+
69+
}
70+
71+
72+
if (parent != null) {
73+
if (newNode.value < parent.value) {
74+
parent.leftNode = newNode;
75+
} else {
76+
parent.rightNode = newNode;
77+
}
78+
79+
}
80+
81+
82+
}
83+
84+
85+
}

0 commit comments

Comments
 (0)