preorder.java

来自「数据结构 链表 java实现 通俗易懂」· Java 代码 · 共 66 行

JAVA
66
字号
import java.io.*;   
  
class Node{   
    Node left;   
    Node right;   
    char str;   
    public Node(){   
        this.right=null;   
        this.left=null;   
    }   
    public Node(char str){   
        this(str,null,null);   
    }   
    public Node(char str, Node left, Node right){   
        this.str=str;   
        this.left=left;   
        this.right=right;   
    }   
    public void visit(){   
        System.out.println(str+" ");   
    }   
}   
class Tree {   
    Node root;   
    char c[];   
    int i=0;   
    public Tree() {   
        root=null;   
    }   
    public Node CreatTree(Node node){   
        if(c[i]==' '){   
            node=null;   
            i++;   
        }   
        else{   
            node=new Node(c[i]);   
            System.out.println("node: "+i+" "+node.str);   
            i++;   
            CreatTree(node.left);   
            CreatTree(node.right);   
        }   
        return node;   
    }   
    public void preorder(Node node){   
        if(node!=null){   
            node.visit();   
            preorder(node.left);   
            preorder(node.right);   
        }   
        else{   
            System.out.println("Tree node is empty");   
        }   
    }   
}   
  
public class PreOrder {   
    public static void main(String args[]) throws IOException{    
        System.out.println("please input Inorder tree");   
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));   
        String s=br.readLine();   
        Tree tree=new Tree();   
        tree.c=s.toCharArray();   
        tree.root=tree.CreatTree(tree.root);   
        tree.preorder(tree.root);   
    }   
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?