QQ空间 新浪微博 腾讯微博 微信 更多
  
摘要: 采用尾递归了,根据函数左子树,右子树来进行计算;   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)