iT邦幫忙

2025 iThome 鐵人賽

DAY 0
0
自我挑戰組

Leetcode30天挑戰系列 第 9

Day9-Convert Sorted Array to Binary Search Tree

  • 分享至 

  • xImage
  •  

今天的題目為108.Convert Sorted Array to Binary Search Tree,題目再叫我們給定一個升序排列的整數陣列,要把它轉換成一棵高度平衡的BST。

以下是程式碼與解說:

class Solution {
    public TreeNode sortedArrayToBST(int[] nums) {
        return buildTree(nums, 0, nums.length - 1);
    }

    private TreeNode buildTree(int[] nums, int left, int right) {
        // 遞迴結束條件:區間無效
        if (left > right) return null;

        // 找中間值作為根節點
        int mid = left + (right - left) / 2;
        TreeNode node = new TreeNode(nums[mid]);

        // 建立左子樹
        node.left = buildTree(nums, left, mid - 1);
        // 建立右子樹
        node.right = buildTree(nums, mid + 1, right);

        return node;
    }
}

雖然今天的比較簡單,但一開始在題目了解尚有出現一點小插曲。


上一篇
Day8-Binary Tree Level Order Traversal II
下一篇
Day10-Convert Sorted List to Binary Search Tree
系列文
Leetcode30天挑戰15
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言