解决方案 »
- 严重: Servlet.service() for servlet MVCLoginServlet threw exception
- 报空指针,怪异。
- java端口监听
- java实现简单mp3播放器问题
- 双字节字符验证问题
- 求助
- 用java打印,如果打印时候使用A0纸,为何打印出来的还是A4纸???急急!!急!!!
- 请问PrintWriter的flush()方法有何作用?为何每次使用完PrintWriter的println()之后都用一下flush()呢?
- 哪里有JBuider7.0的教程,给一个
- 新手关于Jbuilder6.0编辑器的光标定位使用问题,望高手解答
- 怎样使JTextField的长度值随窗口变化而变化
- 大家看看下面的代码能否实现多线程同步安全
class SearchTree {
TreeNode root=null;
public void insertTree(TreeNode node, int x) {
if (node==null) {
root=new TreeNode(x);
} else {
if (x<=node.val) {
if (node.left==null) {
node.left=new TreeNode(x);
} else {
insertTree(node.left,x);
}
} else {
if (node.right==null) {
node.right=new TreeNode(x);
} else {
insertTree(node.right,x);
}
}
}
preOrder(root);
}
public void preOrder(TreeNode node) {
if (node==null) {
System.out.println("null");
}
if (node.left==null&&node.right==null) {
System.out.println(node.val);
} else if (node.left==null&&node.right!=null) {
System.out.println(node.val);
preOrder(node.right);
} else if (node.left!=null&&node.right==null) {
preOrder(node.left);
System.out.println(node.val);
} else {
preOrder(node.left);
System.out.println(node.val);
preOrder(node.right);
}
}
public static void main(String[] args) {
SearchTree st=new SearchTree();
int a[]={5,2,3,5,7,8};
// TreeNode root = null ;
for (int i=0; i<a.length; i++) {
st.insertTree(st.root,a[i]);
}
st.preOrder(st.root);
System.out.println(st.root);
}
}
相当于
st.insertTree(null,a[i]);
TreeNode root =null;
public void insertTree(TreeNode root, int x){
if(root == null){
this.root = new TreeNode(x);
}
else{
if(x <= root.val){
insertTree(root.left,x);
}
else{
insertTree(root.right,x);
}
}
//preOrder(root);
}