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