请问这个使用广义表非递归构造二叉树还有什么可以增进的地方?

dthgmf 2015-12-22 03:19:17
	public static BinaryTree<String> createTree(String str) {
int j = 1;
BinaryNode<String> p = null;
BinaryNode<String> q = null;
BinaryTree<String> tree = new BinaryTree<String>();
tree.root = new BinaryNode<String>(str.charAt(0) + "");
p = tree.root;
LinkedStack<BinaryNode<String>> stack = new LinkedStack<BinaryNode<String>>();
stack.push(p);
System.out.println(str.length());
while(j < str.length()) {
char ch = str.charAt(j);
if(ch == '(') {
q = stack.get();
if((str.charAt(j+1) != '^')) {
q.left = new BinaryNode<String>(str.charAt(j+1)+"");
q = q.left;
stack.push(q);
j=j+2;
} else {
stack.push(q);
j=j+2;
}
}
if(ch == ',') {
if((str.charAt(j+1) != '^')) {
stack.pop();
q = stack.get();
q.right = new BinaryNode<String>(str.charAt(j+1)+"");
q = q.right;
stack.push(q);
j=j+2;
} else {
q = stack.get();
j=j+2;
}
}
if(ch == ')') {
stack.pop();
j++;
}
}
tree.root = p;
return tree;
}

get()是返回栈顶,pop()是出栈,请问各位大神,还有什么需要简化的地方?
...全文
75 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

51,396

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧