day13
1.二叉树前中后序遍历(深度优先搜索):采用递归法思路更清晰,首先确定递归函数的返回值和参数(TreeNode* root, vector<int> & vec),然后确定递归的终止条件(当遍历到空指针的时候),最后确定递归结构体(直接把结果放入数组、遍历左节点、遍历右节点这三个执行的顺序决定了前中后)。
2.二叉树的前中后序(迭代法):迭代法的思路更复杂,前后序的解法类似,中序则不一样。
3.二叉树的层序遍历:采用队列将二叉树每一层的结点入队,并记录队列的大小(一层的结点个数),当遍历到该节点时,首先将当前节点的值放入结果数组中,然后再将其左右节点入队。(所以在开始出队前,需要记录队列的大小,从而控制每次出队的元素是一层的结点个数)。
2.二叉树的前中后序(迭代法):迭代法的思路更复杂,前后序的解法类似,中序则不一样。
3.二叉树的层序遍历:采用队列将二叉树每一层的结点入队,并记录队列的大小(一层的结点个数),当遍历到该节点时,首先将当前节点的值放入结果数组中,然后再将其左右节点入队。(所以在开始出队前,需要记录队列的大小,从而控制每次出队的元素是一层的结点个数)。
全部评论
相关推荐
10-22 12:03
山东大学 Java
程序员小白条:26届一般都得有实习,项目可以随便写的,如果不是开源社区的项目,随便包装,技术栈也是一样,所以本质应该找学历厂,多投投央国企和银行,技术要求稍微低一点的,或者国企控股那种,纯互联网一般都得要干活 点赞 评论 收藏
分享
10-29 15:51
嘉应学院 Java 点赞 评论 收藏
分享
点赞 评论 收藏
分享
查看12道真题和解析