摘要:
采用尾递归了,根据函数左子树,右子树来进行计算;
1:判断极端情况,前序中序长度不同,或者都为零
2:构造根节点的二叉树,找到根节点的i值,然后再根据根节点找到中序遍历的i值
3:构建数组 ,分别储存相应的值;
int[] preLeft int[] inLeft = int[] preRight int[] inRight
4:对构造的数组分别进行赋值,位于根节点i左边的赋值pre加一赋值给PreLeft,根节点右边的赋值 阅读全文
posted @ 2018-09-23 23:51
nupt想象之中
阅读(108)
评论(0)
推荐(0)
摘要:
借用一个辅助的栈,遍历压栈顺序,先讲第一个放入栈中,这里是1,然后判断栈顶元素是不是出栈顺序的第一个元素,这里是4,很显然1≠4,所以我们继续压栈,
* 直到相等以后开始出栈,出栈一个元素,则将出栈顺序向后移动一位,直到不相等,这样循环等压栈顺序遍历完成,如果辅助栈还不为空,说明弹出序列不是该栈的弹出顺序。
* 1:极端情况栈为空的判断;
* 2: 声明一个 模拟入栈和出栈的栈;
* 3: for循环判断入栈非空并且入栈为popA[index], 阅读全文
posted @ 2018-09-23 21:08
nupt想象之中
阅读(251)
评论(0)
推荐(0)

浙公网安备 33010602011771号