博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode]Binary Tree Preorder Traversal
阅读量:6477 次
发布时间:2019-06-23

本文共 1267 字,大约阅读时间需要 4 分钟。

题目:给定一颗二叉树,用非递归的前序遍历方法遍历这颗树

算法:

将根节点压入栈中若栈非空,则运行循环	取出栈顶二叉树节点	訪问节点	压入节点的右孩子	压入节点的左孩子

/** * Definition for binary tree * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */public class Solution {       /**		 * Algorithm:		 * 		 * 1. push root into stack		 * when stack is not empty		 *     2. get node from stack		 *     3. visit node		 *     4. if null!=node.right then push node.right end		 *     5. if null!=node.left then push node.left end		 */	    public List
preorderTraversal(TreeNode root) { List
preorderList = new ArrayList
(); if (null == root) { // Empty tree return preorderList; } Stack
stack = new Stack
(); stack.add(root); while (!stack.empty()) { TreeNode node = stack.pop(); preorderList.add(node.val); if (null != node.right) { stack.add(node.right); } if (null != node.left) { stack.add(node.left); } } return preorderList; }}


本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/5201246.html,如需转载请自行联系原作者

你可能感兴趣的文章
H3C品牌刀片系统强势首发
查看>>
激励着我前进
查看>>
我的友情链接
查看>>
npm打包指定本地nexus仓库
查看>>
IP地址简介
查看>>
LDAP服务原理详解
查看>>
Docker容器初体验
查看>>
[ComandDetail] Vim
查看>>
delphi的加密与解密
查看>>
第3部分 管理NTFS权限
查看>>
我的友情链接
查看>>
面试总结之-查找算法分析
查看>>
30天30个Golang程序学习(一):格式化输出
查看>>
Ceisum官方教程1 -- 开始
查看>>
[20171225]变态的windows批处理4.txt
查看>>
树形控件(CTreeCtrl和CTreeView)
查看>>
*循环单链表
查看>>
杭电3371--Connect the Cities(最小生成树)
查看>>
Codeforces Round #564 (Div. 2) A. Nauuo and Votes
查看>>
linux 下 nginx的负载均衡
查看>>