day13
1.二叉树前中后序遍历(深度优先搜索):采用递归法思路更清晰,首先确定递归函数的返回值和参数(TreeNode* root, vector<int> & vec),然后确定递归的终止条件(当遍历到空指针的时候),最后确定递归结构体(直接把结果放入数组、遍历左节点、遍历右节点这三个执行的顺序决定了前中后)。
2.二叉树的前中后序(迭代法):迭代法的思路更复杂,前后序的解法类似,中序则不一样。
3.二叉树的层序遍历:采用队列将二叉树每一层的结点入队,并记录队列的大小(一层的结点个数),当遍历到该节点时,首先将当前节点的值放入结果数组中,然后再将其左右节点入队。(所以在开始出队前,需要记录队列的大小,从而控制每次出队的元素是一层的结点个数)。
2.二叉树的前中后序(迭代法):迭代法的思路更复杂,前后序的解法类似,中序则不一样。
3.二叉树的层序遍历:采用队列将二叉树每一层的结点入队,并记录队列的大小(一层的结点个数),当遍历到该节点时,首先将当前节点的值放入结果数组中,然后再将其左右节点入队。(所以在开始出队前,需要记录队列的大小,从而控制每次出队的元素是一层的结点个数)。
全部评论
相关推荐
04-05 16:16
西安理工大学 Java 点赞 评论 收藏
分享
昨天 12:57
门头沟学院 前端工程师 记着呢:说的很对,已经工作近7年,就是觉得年轻的时候太多忧虑,没有好好玩一玩,虽然现在我也是很多忧心事,但是真的感觉年轻的时光才是最宝贵的,玩的开心,做自己喜欢的事,全力以赴,这才是应该做的
点赞 评论 收藏
分享
查看27道真题和解析