摘要: 翻转一棵二叉树。 示例 : 4 / \ 2 7 / \ / \ 1 3 6 9 4 / \ 7 2 / \ / \ 9 6 3 1 python Definition for a binary tree node. class TreeNode: def __init__(self, x): sel 阅读全文
posted @ 2018-09-17 22:38 yuyin 阅读(69) 评论(0) 推荐(0)
摘要: 给定一个二叉树,返回它的中序 遍历。 示例 : 进阶 : 递归算法很简单,你可以通过迭代算法完成吗? 递归法 迭代法 思路: 用栈做临时存储 从根节点开始遍历,到最左的子节点,然后输出再访问右节点 阅读全文
posted @ 2018-09-17 22:09 yuyin 阅读(55) 评论(0) 推荐(0)
摘要: 给定一个二叉树,返回它的 前序 遍历。 示例 : 输出: [1,2,3] 进阶 : 递归算法很简单,你可以通过迭代算法完成吗? 递归法 迭代法 思路: 使用辅助栈 当根节点为空时,返回空列表,否则将根节点压入栈中 栈顶弹出节点,将节点的值插入到结果列表中,检查弹出节点的左右节点是否为空,按照右,左的 阅读全文
posted @ 2018-09-17 14:38 yuyin 阅读(114) 评论(0) 推荐(0)
摘要: 给定一个N叉树,返回其节点值的后序遍历。 例如,给定一个 3叉树 : "" 返回其后序遍历: [5,6,3,2,4,1]. 说明: 递归法很简单,你可以使用迭代法完成此题吗?! 递归解法 思路: 用栈的结构和递归的方法后续遍历N叉树 当根节点为空时,返回空列表 当根节点的子节点列表为空时,返回仅存放 阅读全文
posted @ 2018-09-17 14:16 yuyin 阅读(265) 评论(0) 推荐(0)
摘要: 给定一个N叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。 例如,给定一个 : 返回其层序遍历: [ [1], [3,2,4], [5,6] ] 说明: 树的深度不会超过 。 树的节点总数不会超过 。 思路: 与之前的二叉树层次遍历类似,用队列实现 每个节点出队列时,将其子节点压入队列中 阅读全文
posted @ 2018-09-17 11:37 yuyin 阅读(162) 评论(0) 推荐(0)
摘要: 给定一个N叉树,返回其节点值的前序遍历。 例如,给定一个 : 返回其前序遍历: [1,3,5,6,2,4]。 说明: 递归法很简单,你可以使用迭代法完成此题吗? 递归解法 思路: 判断根节点为空的情况,返回[] 判断子节点为空的情况,返回根节点的值 子节点不为空的情况,先遍历根节点,再前序遍历第一个 阅读全文
posted @ 2018-09-17 09:50 yuyin 阅读(104) 评论(0) 推荐(0)
摘要: 给定两个二叉树,编写一个函数来检验它们是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 示例 2: 示例 3: 思路: 递归思想 从根节点开始比较两颗树,如果两个节点均为空返回True,只有一个为空时返回False 如果两个节点均不为空,当节点的值以及左右树 阅读全文
posted @ 2018-09-17 09:24 yuyin 阅读(90) 评论(0) 推荐(0)