加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

94. Binary Tree Inorder Traversal

发布时间:2020-12-14 03:45:44 所属栏目:大数据 来源:网络整理
导读:1 // Recursive 2 class Solution { 3 ListInteger res = new ArrayList (); 4 public ListInteger inorderTraversal(TreeNode root) { 5 if (root != null ) { 6 inorderTraversal(root.left); 7 res.add(root.val); 8 inorderTraversal(root.right); 9 } 1
 1 //Recursive
 2 class Solution {
 3        List<Integer> res = new ArrayList<>();
 4     public List<Integer> inorderTraversal(TreeNode root) {
 5         if (root != null) {
 6             inorderTraversal(root.left);
 7             res.add(root.val);
 8             inorderTraversal(root.right);
 9         }
10         return res;
11         
12         
13     }
14 }
15 
16 //Iterate
17 class Solution {
18        List<Integer> res = new ArrayList<>();
19     public List<Integer> inorderTraversal(TreeNode root) {
20         if(root == null) return res;
21         Stack<TreeNode> stack = new Stack<>();
22         stack.push(root);
23         Set<TreeNode> visited = new HashSet<>(); 
24         while(!stack.empty()) {
25             TreeNode node = stack.pop();
26             while(node.left != null && !visited.contains(node)) {
27                 visited.add(node);
28                 stack.push(node);
29                 node = node.left;
30             }
31             res.add(node.val);
32             if(node.right != null) {
33                 stack.push(node.right);
34             }
35             
36         }
37         return res;  
38     }
39 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读