0


【树】N叉树的遍历【力扣589、力扣590】超详细的解释和注释

说在前面

欢迎朋友们来到我的博客。
今天我们的重点是,N叉树的遍历
今天,博主就带来两道经典的题目,领着大家理解N叉树的前序遍历和后序遍历!
当然,还想学习其它算法的朋友们,可以通过订阅博主的算法专栏,或者数据结构专栏持续学习!

  • 算法训练营
  • 手撕数据结构

当然,博主这里还把二叉树的四种遍历方式的汇总博客提供给大家,供大家学习,两者的思路是一样的!

  • 【二叉树】二叉树的深度优先遍历DFS(前中后序遍历)和广度优先遍历BFS(层序遍历)详解【力扣144,94,145,102】【超详细的保姆级别教学】

题目:

  • 589. N 叉树的前序遍历
  • 590. N 叉树的后序遍历

导航小助手

博主给大家的话

在这里插入图片描述

那么这里博主先安利一下一些干货满满的专栏啦!

数据结构专栏:手撕数据结构 这里包含了博主很多的数据结构学习上的总结,每一篇都是超级用心编写的,有兴趣的伙伴们都支持一下吧!
算法专栏:算法 这里可以说是博主的刷题历程,里面总结了一些经典的力扣上的题目,和算法实现的总结,对考试和竞赛都是很有帮助的!
力扣刷题专栏:跟着博主刷Leetcode 想要冲击ACM、蓝桥杯或者大学生程序设计竞赛的伙伴,这里面都是博主的刷题记录,希望对你们有帮助!
C的深度解剖专栏:C语言的深度解剖 想要深度学习C语言里面所蕴含的各种智慧,各种功能的底层实现的初学者们,相信这个专栏对你们会有帮助的!

N叉树的前序遍历

题目描述

在这里插入图片描述

代码实现

其实思路和二叉树前序遍历是一样的,先遍历自己的节点,在遍历孩子节点,遇到空返回,很简单。

classSolution{private:
    vector<int>ret;voiddfs(Node*root){if(root==nullptr){return;}
        ret.push_back(root->val);//先遍历自己节点//再遍历孩子节点,和二叉树的区别就是,这里是遍历一个指针数组而已。for(int i=0;i<root->children.size();i++){dfs(root->children[i]);}}public:
    vector<int>preorder(Node* root){dfs(root);return ret;}};

N叉树的后序遍历

题目描述

在这里插入图片描述

代码实现

classSolution{private:
    vector<int>ret;voiddfs(Node*root){if(root==nullptr){return;}//先遍历孩子节点for(int i=0;i<root->children.size();i++){dfs(root->children[i]);}//再遍历自身节点
        ret.push_back(root->val);}public:
    vector<int>postorder(Node* root){dfs(root);return ret;}};

尾声

相信大家看到这里,已经对N叉树的DFS遍历有了一定的认识和了解了。这些都是我们学习数据结构最最基础的东西,也是必不可少的知识,我们必须掌握。如果你感觉这篇文章对你有帮助的话,不要忘了点赞关注和收藏哦!


本文转载自: https://blog.csdn.net/Yu_Cblog/article/details/125194764
版权归原作者 #西城s 所有, 如有侵权,请联系我们删除。

“【树】N叉树的遍历【力扣589、力扣590】超详细的解释和注释”的评论:

还没有评论