【Leetcode-Medium-94】Binary Tree Inorder Traversal
来源:互联网 发布:java方法交换两个变量 编辑:程序博客网 时间:2024/06/07 00:16
【Leetcode-Medium-94】Binary Tree Inorder Traversal
题目
Given a binary tree, return the inorder traversal of its nodes’ values.
For example:
Given binary tree [1,null,2,3],
1 \ 2 / 3
return [1,3,2].
Note: Recursive solution is trivial, could you do it iteratively?
思路
递归方式
迭代方式
程序
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { // ---------------------------------------- // 迭代方式 public List<Integer> inorderTraversal(TreeNode root){ List<Integer> res = new ArrayList<>(); if (root == null) return res; LinkedList<TreeNode> stack = new LinkedList<>(); TreeNode currNode = root; while (currNode != null || !stack.isEmpty()){ while (currNode != null){ stack.push(currNode); currNode = currNode.left; } if (!stack.isEmpty()){ currNode = stack.pop(); res.add(currNode.val); currNode = currNode.right; } } return res; } // -------------------------------------- // 递归方式 public List<Integer> inorderTraversal0(TreeNode root) { List<Integer> res = new ArrayList<>(); helper2(root, res); return res; } private void helper(TreeNode root, List<Integer> res){ if (root != null){ helper(root.left, res); res.add(root.val); helper(root.right, res); } } private void helper2(TreeNode root, List<Integer> res){ if (root == null) return; helper2(root.left, res); res.add(root.val); helper2(root.right, res); }}
声明:题目来自Leetcode.
阅读全文
1 0
- LeetCode #94 - Binary Tree Inorder Traversal - Medium
- 【Leetcode-Medium-94】Binary Tree Inorder Traversal
- Leetcode 94. Binary Tree Inorder Traversal (Medium) (cpp)
- 94. Binary Tree Inorder Traversal #Medium
- [leetcode 94] Binary Tree Inorder Traversal
- Leetcode NO.94 Binary Tree Inorder Traversal
- leetcode-94 Binary Tree Inorder Traversal
- leetcode || 94、Binary Tree Inorder Traversal
- Binary Tree Inorder Traversal - LeetCode 94
- Leetcode[94]-Binary Tree Inorder Traversal
- leetcode(94):Binary Tree Inorder Traversal
- leetcode-94-Binary Tree Inorder Traversal
- Leetcode 94 Binary Tree Inorder Traversal
- leetcode[94]:Binary Tree Inorder Traversal
- LeetCode(94) Binary Tree Inorder Traversal
- Leetcode # 94 Binary Tree Inorder Traversal
- leetcode 94: Binary Tree Inorder Traversal
- [leetcode-94]Binary Tree Inorder Traversal(c++)
- 【MySQL】MySQL API 示例代码
- Android移动开发-调用步行检测和步行计数传感器开发简易计步器的实现
- Scala操作MySQL数据库
- java的System.getProperty()方法可以获取的值
- [题解] P1955 程序自动分析 (并查集+哈希表)
- 【Leetcode-Medium-94】Binary Tree Inorder Traversal
- sql-server基础三(select 、update、insert,delete)
- HDU 2052 Picture(玩点不一样的)
- 如何测试一支笔
- 爬虫感悟1
- 文件对比工具
- 作业.分别用while和for写出1+1/2!+1/3!.....的前20项和
- 搜索算法-顺序查找和二分查找
- python中的socketserver