![68ea672b6445d1e400395081bf8b4e81.png](https://img-blog.csdnimg.cn/img_convert/68ea672b6445d1e400395081bf8b4e81.png)
题目链接 : https://leetcode-cn.com/problems/binary-tree-inorder-traversal/
题目描述:
给定一个二叉树,返回它的中序 遍历。
示例:
输入: [1,null,2,3]
1
2
/
3
输出: [1,3,2]
思路:
递归:顺序,左右根
迭代:用栈,再用一个指针模拟访问过程
代码:
递归
# Definition for a binary tree node.
java
/**
迭代
# Definition for a binary tree node.
java
/**
二叉树的前序,中序,后序,层序遍历的递归和迭代,一起打包送个你们!嘻嘻
144. 二叉树的前序遍历
思路:
递归:就是依次输出根,左,右,递归下去
迭代:使用栈来完成,我们先将根节点放入栈中,然后将其弹出,依次将该弹出的节点的右节点,和左节点,注意顺序,是右,左,为什么?因为栈是先入先出的,我们要先输出右节点,所以让它先进栈.
代码:
递归:
# Definition for a binary tree node.
迭代:
# Definition for a binary tree node.
145. 二叉树的后序遍历
思路:
递归:同理,顺序:左,右,根
迭代:这就很上面的先序一样,我们可以改变入栈的顺序,刚才先序是从右到左,我们这次从左到右,最后得到的结果取逆.
代码:
递归:
# Definition for a binary tree node.
迭代:
# Definition for a binary tree node.
94. 二叉树的中序遍历
思路:
递归:顺序,左右根
非递归:这次我们用一个指针模拟过程
代码:
递归:
# Definition for a binary tree node.
迭代:
# Definition for a binary tree node.
102. 二叉树的层次遍历
思路:
非常典型的BFS
代码:
# Definition for a binary tree node.
![e4bc1bb1f2d39864b64eb11ff3e715de.png](https://img-blog.csdnimg.cn/img_convert/e4bc1bb1f2d39864b64eb11ff3e715de.png)
同步更新博客:
一起刷LeetCode - 威行天下 - 博客园www.cnblogs.com