原文:(剑指Offer)面试题59:对称的二叉树

题目: 请实现一个函数,用来判断一颗二叉树是不是对称的。 注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 思路: 对于一棵二叉树,从根结点开始遍历, 如果左右子结点有一个为NULL,那么肯定不是对称二叉树 如果左右子结点均不为空,但不相等,那么肯定不是对称二叉树 如果左右子结点均不为空且相等,那么 遍历左子树,遍历顺序为:当前结点,左子树,右子树 遍历右子树,遍历顺序为:当前结点, ...

2015-08-10 20:57 0 1954 推荐指数:

查看详情

offer 面试题6:重建二叉树

重建二叉树 题目   输入某二叉树的前序遍历和中序遍历,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含有重复的数字。   例如,前序遍历序列:{1,2,3,7,3,5,6,8},中序遍历序列:{4,7,2,1,5,3,8,6} 答案   前序遍历:     前序遍历 ...

Sun Aug 25 18:11:00 CST 2013 2 5224
Offer面试题:33.二叉树的深度

一、题目一:二叉树的深度 1.1 题目说明 题目一:输入一棵二叉树的根结点,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。例如下图中的二叉树的深度为4,因为它从根结点到叶结点最长的路径包含4个结点(从根结点1开始,经过结点2和结点 ...

Sun Sep 20 22:13:00 CST 2015 0 15670
offer编程题Java实现——面试题6重建二叉树

题目: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出二叉树并输出他的根节点。 在二叉树的前序遍历中,第一个数字总是树 ...

Sun Feb 26 21:52:00 CST 2017 0 4118
offer面试题39 二叉树的深度(java)

摘要: 今天翻到了《offer面试题39,题目二中的解法二是在函数的参数列表中通过指针的方式进行传值,而java是没有指针的,所以函数要进行改造。然而我翻了下别人的java版本(我就想看看有什么高大上的改造,毕竟要传递多个参数,是不是会涉及到那么一点点设计模式呢?),简直不能忍了,我只能 ...

Tue May 16 02:19:00 CST 2017 0 2181
Offer面试题39:判断平衡二叉树

题目: 输入一课二叉树的根结点,判断该树是不是平衡二叉树。如果二叉树中任意结点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 思路: 1、重复遍历结点 参考上一题求二叉树的深度,先求出根结点的左右子树的深度,然后判断它们的深度相差不超过1,如果否,则不是一棵二叉树;如果是,再用 ...

Mon Jul 27 05:26:00 CST 2015 0 1882
Offer面试题:18.二叉树的镜像

一、题目:二叉树的镜像 题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如下图所示,左图是原二叉树,而右图则是该二叉树的镜像。   该二叉树节点的定义如下,采用C#语言描述: 二、解题思路 2.1 核心步骤   Step1.先序遍历原二叉树的每个 ...

Tue Sep 01 07:36:00 CST 2015 0 3198
Offer面试题:5.重建二叉树

一、题目:重建二叉树 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示的二叉树并输出它的头结点 ...

Thu Aug 20 07:12:00 CST 2015 1 6051
【Java】 offer(28) 对称二叉树

本文参考自《offer》一书,代码采用Java语言。 更多:《Offer》Java实现合集 题目    请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 思路   还是画图分析,不用分析根结点,只需要分析左右子树。可以看出,左右 ...

Wed Oct 17 01:19:00 CST 2018 0 697
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM