例如 str---A(B(D(,G)),C,(E,F))ide
扫描采用括号表示法表示二叉树的字符串 读到的符号为ch对象
使用一个栈保存双亲结点字符串
引入一个变量k 做用是指定其后处理的是左孩子仍是右孩子it
k=1 处理左孩子 k=2 处理右孩子class
状况以下 变量
遇到一个实实在在的字母时建立一个节点二叉树
1 遇到 ch=左括号 将前面建立的结点做为父节点进栈,置k=1,表示其后的结点将做为这个节点的左孩子di
2 遇到 ch=逗号 表示其后面建立的结点为右孩子结点(结点指的是实实在在的字母 不然无效)置k=2view
3遇到 ch=右括号 表示栈中结点的左右孩子处理完毕,退一次栈vi
可是建立过程要以始终栈顶元素为父结点为对象