iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0
自我挑戰組

30天leetcode學習旅程系列 第 15

項次15-Binary Search -2

  • 分享至 

  • xImage
  •  

題目:94. Binary Tree Inorder Traversal

連結:https://leetcode.com/problems/binary-tree-inorder-traversal/description/

  • 等級:Easy
class Solution {
    private void inorder(TreeNode node,List<Integer> save)
    {
        if (node == null)
            return;
        inorder(node.left,save);
        save.add(node.val);
        inorder(node.right,save);
        return;
    }
    public List<Integer> inorderTraversal(TreeNode root) {
        List<Integer> save = new ArrayList<Integer>();
        if (root == null) return save;
        inorder(root,save);
        return save;
    }
}
  • Time complexity: O(n)
  • Space complexity: O(n)

題目:102. Binary Tree Level Order Traversal

連結:https://leetcode.com/problems/binary-tree-level-order-traversal/description/

  • 等級:Medium

解題思路

  1. 使用index紀錄binary tree level
class Solution {
    private void preOrder(TreeNode root,int level,List<List<Integer>> save)
    {
        if (root == null)
            return;
        if (save.size() == level)
        {
            List<Integer> li = new ArrayList<Integer>();
            li.add(root.val);
            save.add(li);
        }
        else
        {
            save.get(level).add(root.val);
        }
        preOrder(root.left,level+1,save);
        preOrder(root.right,level+1,save);
    }

    public List<List<Integer>> levelOrder(TreeNode root) {
        List<List<Integer>> save = new ArrayList<List<Integer>>();
        preOrder(root,0,save);
        return save;        
    }
}
  • Time complexity: O(n)
  • Space complexity: O(n)

上一篇
項次 14 - Binary Search -1
下一篇
項次16-Binary Trees -1
系列文
30天leetcode學習旅程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言