ITPUB论坛-中国最专业的IT技术社区

 找回密码
 注册
查看: 733|回复: 0

Lintcode66 Binary Tree Preorder Traversal solution 题解

[复制链接]
论坛徽章:
0
发表于 2017-11-3 00:01 | 显示全部楼层 |阅读模式
【题目描述】

Given a binary tree, return the preorder traversal of its nodes' values.

给出一棵二叉树,返回其节点值的前序遍历。

【题目链接】
www.lintcode.com/en/problem/binary-tree-preorder-traversal/

【题目解析】
递归
递归版很好理解,首先判断当前节点(根节点)是否为null,是则返回空vector,否则先返回当前节点的值,然后对当前节点的左节点递归,最后对当前节点的右 节点递归。递归时对结果的处理方式不同可进一步细分为遍历和分治两种方法。

分治
使用分治的方法和递归类似,但是不同的是递归是将结果作为参数传入递归函数中,而分治则是先将结果保留,随后再合并到最终结果中。

迭代
迭代时需要利用栈来保存遍历到的节点,首先进行出栈抛出当前节点,保存当前节点的值,随后将右、左节点分别入栈,迭代到其为叶子节点(NULL)为止。

【参考答案】
www.jiuzhang.com/solutions/binary-tree-preorder-traversal/



您需要登录后才可以回帖 登录 | 注册

本版积分规则

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 虎吧 老博客 知识索引树 读书频道 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛 | SAP ERP系统
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表