144. Binary Tree Preorder Traversal
Posted 我的名字叫周周
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了144. Binary Tree Preorder Traversal相关的知识,希望对你有一定的参考价值。
/* * 144. Binary Tree Preorder Traversal * 2016.5.25 By Mingyang * 典型的dfs的做法,每次push进去一个值的时候就记在小本本上,其实也就是记在list里面 * 两种方法都已经尝试了 */ public List<Integer> preorderTraversal(TreeNode root) { List<Integer> res=new ArrayList<Integer>(); if(root==null) return res; Stack<TreeNode> stack=new Stack<TreeNode>(); TreeNode p=root; while(stack.size()!=0||p!=null){ if(p!=null){ stack.push(p); res.add(p.val); p=p.left; }else{ TreeNode q=stack.pop(); p=q.right; } } return res; } public List<Integer> preorderTraversal1(TreeNode root) { List<Integer> res=new ArrayList<Integer>(); dfs(res,root); return res; } public void dfs(List<Integer> res,TreeNode root){ if(root==null) return; res.add(root.val); dfs(res,root.left); dfs(res,root.right); }
以上是关于144. Binary Tree Preorder Traversal的主要内容,如果未能解决你的问题,请参考以下文章
144. Binary Tree Preorder Traversal
144. Binary Tree Preorder Traversal
144. Binary Tree Preorder Traversal
144. Binary Tree Preorder Traversal