二叉树的中序遍历-实现方式Deque
一、JAVA的实现
JAVA二叉树的中序遍历,除了用递归,还可以用栈Deque来实现,
对栈常规操作有插入即push(),弹出栈顶元素即pop()方法,还有判断栈为空的stack.isEmpty()。 Deque<TreeNode> stack = new LinkList<TreeNode>();
if(!stack.isEmpty()){}
stack.push(root);
root = stack.pop();
二、c++的实现
c++则是用stack
if(!stack.isEmpty()){}
stack.push(root);
root = stack.top();
stack.pop();
三、两者区别
JAVA的pop()和c++的pop()有所差异,JAVA是返回栈顶地址并且直接删除栈顶,而c++是只删除不返回;
因此c++是先提栈顶元素再pop()。
root = stack.top();
stack.pop();

浙公网安备 33010602011771号