[LeetCode]144. Binary Tree Preorder Traversal&94. Binary Tree Inorder Traversal
来源:互联网 发布:软件测试员有前途吗 编辑:程序博客网 时间:2024/06/16 11:44
144 . Binary Tree Preorder Traversal
Medium
递归:
public List<Integer> preorderTraversal(TreeNode root) { List<Integer> results = new ArrayList<>(); preorderTraversal(root, results); return results;}private void preorderTraversal(TreeNode root, List<Integer> results) { if (root == null) return; results.add(root.val); preorderTraversal(root.left, results); preorderTraversal(root.right, results);}
栈:
public List<Integer> preorderTraversal(TreeNode root){ List<Integer> res = new ArrayList<Integer>(); if(root==null) return res; Stack<TreeNode> stack = new Stack<TreeNode>(); TreeNode tn = root; while(tn!=null||!stack.isEmpty()){ if(tn!=null){ res.add(tn.val); if(tn.right!=null) stack.push(tn.right); tn = tn.left; }else{ tn = stack.pop(); } } return res;}
莫里斯:
public List<Integer> preorderTraversal(TreeNode root) { List<Integer> results = new ArrayList<>(); TreeNode crt = root; while (crt != null) { if (crt.left == null) { results.add(crt.val); crt = crt.right; } else { TreeNode temp = crt.left; while (temp.right != null && temp.right != crt) temp = temp.right; if (temp.right == null) { results.add(crt.val); temp.right = crt; crt = crt.left; } else { temp.right = null; crt = crt.right; } } } return results;}
94 . Binary Tree Inorder Traversal
Medium
递归:
public List<Integer> inorderTraversal(TreeNode root) { List<Integer> results = new ArrayList<>(); inorderTraversal(root, results); return results;}private void inorderTraversal(TreeNode root, List<Integer> results) { if (root == null) return; inorderTraversal(root.left, results); results.add(root.val); inorderTraversal(root.right, results);}
栈:
public List<Integer> inorderTraversal(TreeNode root) { List<Integer> results = new ArrayList<>(); ArrayDeque<TreeNode> stack = new ArrayDeque<>(); TreeNode crt = root; while (!stack.isEmpty() || crt != null) { if (crt != null) { stack.push(crt); crt = crt.left; } else { crt = stack.pop(); results.add(crt.val); crt = crt.right; } } return results;}
莫里斯:
public List<Integer> inorderTraversal(TreeNode root) { List<Integer> results = new ArrayList<>(); TreeNode crt = root; while (crt != null) { if (crt.left == null) { results.add(crt.val); crt = crt.right; } else { TreeNode temp = crt.left; while (temp.right != null && temp.right != crt) temp = temp.right; if (temp.right == null) { temp.right = crt; crt = crt.left; } else { temp.right = null; results.add(crt.val); crt = crt.right; } } } return results;}
0 0
- 144. Binary Tree Preorder Traversal &&94. Binary Tree Inorder Traversal
- [LeetCode]144. Binary Tree Preorder Traversal&94. Binary Tree Inorder Traversal
- 【LeetCode】Binary Tree Preorder &Inorder & Postorder Traversal
- LeetCode--Binary Tree Traversal ( Inorder, Preorder, PostOrder)
- 94. Binary Tree Inorder Traversal&144. Binary Tree Preorder Traversal&145. Binary Tree Postorder Tra
- 94. Binary Tree Inorder Traversal\144. Binary Tree Preorder Traversal\145. Binary Tree Postorder
- Binary Tree Inorder Traversal & Preorder Traversal
- *(leetcode) Construct Binary Tree from Preorder and Inorder Traversal (tree)
- LeetCode[Tree]: Construct Binary Tree from Preorder and Inorder Traversal
- [leetcode][tree] Construct Binary Tree from Preorder and Inorder Traversal
- leetcode Binary Tree Preorder Traversal Binary Tree Postorder Traversal Inorder Traversal
- Binary Tree Preorder Traversal & Binary Tree Inorder Traversal
- LeetCode Binary Tree Preorder Traversal
- 【LeetCode】Binary Tree Preorder Traversal
- Leetcode: Binary Tree Preorder Traversal
- Leetcode Binary Tree Preorder Traversal
- LeetCode:Binary Tree Preorder Traversal
- Leetcode: Binary Tree Preorder Traversal
- 洛谷 P1396 营救
- Android中SlidingMenu开源库的使用
- java网络爬虫学习记录(二)抓包分析
- 点云库PCL源码中的框架搭建思想
- JS关于Date函数的格式化输出
- [LeetCode]144. Binary Tree Preorder Traversal&94. Binary Tree Inorder Traversal
- 达成成就
- 设计模式之模版方法模式
- python计算CRC16等
- LeetCode145—Binary Tree Postorder Traversal
- 基于Eclipse搭建的STM32环境下的J-Flash烧写【hex/bin】文件到STM32xx开发板中的设置方法与步骤
- 【NOIP2016提高A组五校联考1】挖金矿
- 监听EditText文字变化,TextWatcher详解
- 2012蓝桥杯预赛试题本科c++微生物增殖