「经典题目回顾」翻转二叉树!
Posted 代码随想录
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「经典题目回顾」翻转二叉树!相关的知识,希望对你有一定的参考价值。
给「代码随想录」加星标,每日准时8:35,带你循序渐进学算法!
周日经典问题回顾。
今天来回顾一下二叉树,翻转二叉树,绝对是面试题目了,代码不长,又考察对二叉树的操作。
正式因为翻转二叉树代码也很简单,很多同学可以看一下代码就能手撕出来了。
这样就经常会忽略更深层次的东西。
首先使用递归来实现翻转二叉树的时候,前序遍历和后序遍历都可以,唯独中序遍历不行!
因为中序遍历会把某些节点的左右孩子翻转了两次!建议拿纸画一画理解一波。
那么层序遍历可以不可以呢?
可以的!只要把每一个节点的左右孩子翻转一次的遍历方式都是可以的!
此时一道面试题又出来的,面试题就是翻转二叉树。
如果候选人写出递归方法,就问他用的是前中后序哪种方式的遍历,那么另外两种种遍历行不行?为什么?
然后在问,可不可以写出非递归的方式?
如果面试中翻转二叉树的题目这么考,就可以看出候选人对二叉树的理解了。
题目不难,但要到处都是陷阱,到处都是细节,这是大厂面试官最喜欢的面试题目。
文章传送门:
在文章中,我提到的这些细节都做了详细的讲解,看完之后,大家对翻转二叉树会有更深一步的理解。
题目链接:https://leetcode-cn.com/problems/invert-binary-tree/
对于二叉树的题目,解题之前一定要想清楚究竟是前中后序遍历,还是层序遍历。
而不是凭感觉就把代码写出来,在做题的时候,要保持每行代码都是有理有据,这样基本功才扎实。
最后录友们周末愉快!
每天8:35准时推送一道经典算法题目,推送的每道题目都不是孤立的,而是由浅入深,环环相扣,帮你梳理算法知识脉络,轻松学算法!
以上是关于「经典题目回顾」翻转二叉树!的主要内容,如果未能解决你的问题,请参考以下文章