@@ -45,40 +45,33 @@ void preInReconstruct(int preOrder[], int inOrder[]){
45
45
break ;
46
46
}
47
47
}
48
- System .out .println ("index: " + index );
49
48
int inOrderLeft [] = new int [index ];
50
49
int inOrderRight [] = new int [inOrder .length - index -1 ];
51
50
for (int i = 0 ; i < index ; i ++){
52
51
inOrderLeft [i ] = inOrder [i ];
53
- System .out .print (inOrderLeft [i ] + " " );
54
52
}
55
53
System .out .println ("" );
56
54
for (int i = 0 ; i < inOrder .length - index -1 ; i ++){
57
55
inOrderRight [i ] = inOrder [i + index + 1 ];
58
- System .out .print (inOrderRight [i ] + " " );
59
56
}
60
57
System .out .println ("" );
61
58
int preOrderLeft [] = new int [index ];
62
59
int preOrderRight [] = new int [inOrder .length - index -1 ];
63
60
for (int i = 0 ; i < index ; i ++){
64
61
preOrderLeft [i ] = preOrder [i + 1 ];
65
- System .out .print (preOrderLeft [i ] + " " );
66
62
}
67
63
System .out .println ("" );
68
64
for (int i = 0 ; i < inOrder .length - index -1 ; i ++){
69
65
preOrderRight [i ] = preOrder [i + index + 1 ];
70
- System .out .print (preOrderRight [i ] + " " );
71
66
}
72
67
System .out .println ("" );
73
68
if (preOrderLeft .length > 0 ){
74
69
Node left = treeNodeForItem (preOrderLeft [0 ]);
75
70
root .left = left ;
76
- System .out .println ("left: " + left .item );
77
71
}
78
72
if (preOrderRight .length > 0 ){
79
73
Node right = treeNodeForItem (preOrderRight [0 ]);
80
74
root .right = right ;
81
- System .out .println ("right: " + right .item );
82
75
}
83
76
84
77
preInReconstruct (preOrderLeft , inOrderLeft );
@@ -93,8 +86,8 @@ void printTreeNodes(){
93
86
}
94
87
public static void main (String [] args ) {
95
88
PreInReconstruct pIR = new PreInReconstruct ();
96
- int preOrder [] = {- 1 };
97
- int inOrder [] = {- 1 };
89
+ int preOrder [] = {3 , 9 , 20 , 15 , 7 };
90
+ int inOrder [] = {9 , 3 , 15 , 20 , 7 };
98
91
pIR .preInReconstruct (preOrder , inOrder );
99
92
pIR .printTreeNodes ();
100
93
}
0 commit comments