欢迎大家关注我的以下主页,尤其是今日头条!!!谢谢🙏🙏🙏
csdn:雷园的csdn博客
个人博客:雷园的个人博客
简书:雷园的简书
今日头条:来自底层程序员的仰望
前言
- 今天我们并不详细的去讲解一到算法题目,今天我们来说说二叉树的四种遍历方式。(前、中、后、层)
- 看到关注我的同学们大多都年纪不大,应该大多都是在上学的小伙伴。
- 其实吧!!!我的年纪也不大,希望我们可以有共同语言,大家在学习上有什么不懂得、学不会的、感觉学起来很吃力的同学可以来找我,我们可以一起探讨学习的方式!!!
- 共同努力,共同进步嘛。
题目一:二叉树的前序遍历
给定一个二叉树,返回它的 前序 遍历。
示例:
输入: [1,null,2,3]
1
\
2
/
3
输出: [1,2,3]
解题思路
-
前序遍历:根结点 —> 左子树 —> 右子树
-
代码实现(递归方式):
public void preOrderTraverse(TreeNode root) { // 判断当前节点是否为空 if (root != null) { // 打印当前节点 System.out.print(root.val+" "); // 遍历左子树 preOrderTraverse(root.left); // 遍历右子树 preOrderTraverse(root.right); } }
-
是不是非常简单的,其实思路很简单。也就是先打印当前节点,并访问左节点(左子树)直到左节点为null,再去访问右节点(右子树)。