另见求树高 http://blog.csdn.net/Justme0/article/details/7694704 ...
思路: . 使用一个栈保存结点 列表实现 . 如果结点存在,入栈,然后将当前指针指向左子树,直到为空 . 当前结点不存在,则出栈栈顶元素,并把当前指针指向栈顶元素的右子树 . 栈不为空,循环 部。 代码如下,解决了leetcode . Binary Tree Inorder Traversal: ...
2017-11-15 22:18 1 2370 推荐指数:
另见求树高 http://blog.csdn.net/Justme0/article/details/7694704 ...
思路: 1. 使用列表保存结果; 2. 使用栈(列表实现)存储结点; 3. 当根结点存在,保存结果,根结点入栈; 4. 将根结点指向左子树; 5. 根结点不存在,栈顶元素出栈,并将根结点指向栈顶元素的右子树; 6. 重复步骤3-6,直到栈空。 LeetCode: 144. ...
先序创建二叉树,非递归中序遍历输出(利用栈,Push,Pop,StackEmpty) ...
、从左到右按层遍历 5.二叉树节点个数 6.二叉树的最大深度 ...
最近在刷leetcode时,刷到了二叉树中序遍历的题目,所以特在此记录一下,下面我将给出中序遍历的递归实现和非递归(迭代)实现的代码与算法思想: 1. 中序遍历的递归实现: 递归实现的算法思想:先中序遍历左子树,然后访问根节点,最后访问右子树。 2. 中序遍历的非递归 ...
一、递归实现 以上的cout<<root->data;是对结点的一种操作,这里可以对结点做任意想做的操作。 二、非递归实现 ...