摘要: 给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。 例如: 给定二叉树 , 返回锯齿形层次遍历如下: 思路: 用两个栈结构,stack_1存储当前层的节点,stack_2存储下一层的节点,压入栈的顺序利用flag交替控制,当sta 阅读全文
posted @ 2018-09-18 22:34 yuyin 阅读(83) 评论(0) 推荐(0)
摘要: 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1 : 示例 2 : 思路: 对于每个节点,用depth函数获得其左右子节点的深度,如果子树是平衡的,返回真实的深度,如果子树是不平衡的,立即返回 阅读全文
posted @ 2018-09-18 21:50 yuyin 阅读(85) 评论(0) 推荐(0)
摘要: 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 , 返回 , 因为存在目标和为 的根节点到叶子节点的路径 。 思路: 树为空时,返回False 当节点的子树不存在时 阅读全文
posted @ 2018-09-18 13:44 yuyin 阅读(65) 评论(0) 推荐(0)
摘要: 给定一个N叉树,找到其最大深度。 最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。 例如,给定一个 : 我们应返回其最大深度, 。 说明 : 树的深度不会超过 。 树的节点总不会超过 。 思路: 用递归解决 阅读全文
posted @ 2018-09-18 12:56 yuyin 阅读(67) 评论(0) 推荐(0)
摘要: 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 是对称的。 但是下面这个 则不是镜像对称的: 说明: 如果你可以运用递归和迭代两种方法解决这个问题,会很加分。 递归法 子树p和q的值相等,而且p的左子树和q的右子树对称,p的右子树和q的左子树对称 迭代法 用一个栈来维护节点的插入,注意插入顺 阅读全文
posted @ 2018-09-18 07:23 yuyin 阅读(97) 评论(0) 推荐(0)