File tree Expand file tree Collapse file tree 1 file changed +85
-0
lines changed
src/main/java/com/chen/algorithm/exercise/exercise4 Expand file tree Collapse file tree 1 file changed +85
-0
lines changed Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments