题目: 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 思路: 很明显,这是一个广度优先遍历。 需要一个队列容器来保存结点,具体操作: 1、将根结点压入队列中,并打印根结点;如果根结点有子结点,将左右子结点依次压…
分类:树相关算法
(剑指Offer)面试题19:二叉树的镜像
题目: 操作给定的二叉树,将其变换为源二叉树的镜像。 二叉树的定义如下: struct TreeNode{ int val; TreeNode* left; TreeNode* right; }; 输入描述:…
(剑指Offer)面试题18:树的子结构
题目: 输入两棵二叉树A和B,判断B是不是A的子结构。 二叉树结构定义如下: struct TreeNode{ int val; TreeNode* left; TreeNode* right; }; 思路: 判断二叉树…
(剑指Offer)面试题6:重建二叉树
题目: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。 假设输入的前序遍历和中序遍历结果中都不含重复的数字。 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,…