leetcode——第108题——将有序数组转换为二叉搜索树
发布日期:2021-05-12 12:18:21 浏览次数:11 分类:精选文章

本文共 2181 字,大约阅读时间需要 7 分钟。

���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

���������

#include 
using namespace std;TreeNode* sortedArrayToBST(vector
&nums) { if (nums.size() == 0) return nullptr; int mid = nums.size() / 2; TreeNode* root = new TreeNode(nums[mid]); root->left = sortedArrayToBST(nums, 0, mid - 1); root->right = sortedArrayToBST(nums, mid + 1, nums.size() - 1); return root;}

���������

#include 
#include
using namespace std;TreeNode* sortedArrayToBST(vector
&nums) { if (nums.empty()) return nullptr; queue
nodeQue; queue
leftQue; queue
rightQue; int n = nums.size(); int mid = n / 2; TreeNode* root = new TreeNode(nums[mid]); nodeQue.push(root); leftQue.push(0); rightQue.push(n - 1); while (!nodeQue.empty()) { TreeNode* curNode = nodeQue.front(); int leftIdx = leftQue.front(); int rightIdx = rightQue.front(); nodeQue.pop(); leftQue.pop(); rightQue.pop(); int midIdx = leftIdx + (rightIdx - leftIdx) / 2; curNode->val = nums[midIdx]; if (midIdx - 1 >= leftIdx) { TreeNode* leftNode = new TreeNode(nums[midIdx - 1]); curNode->left = leftNode; nodeQue.push(leftNode); leftQue.push(leftIdx); rightQue.push(midIdx - 2); } if (midIdx + 1 <= rightIdx) { TreeNode* rightNode = new TreeNode(nums[midIdx + 1]); curNode->right = rightNode; nodeQue.push(rightNode); leftQue.push(midIdx + 1); rightQue.push(rightIdx); } } return root;}

������������

  • ������������

    • ������������������������������������������
    • ������������������������������������
    • ���������������������������������������������������������������������������
  • ������������

    • ������������������������������������
    • ���������������������������������������������������������
    • ���������������������������������������������������������������������������������������
    • ������������������������������������������
  • ���������������������������������������������������1���������������������������������������������������������������������������������������������

    上一篇:leedcode——第538题——把二叉搜索树转换为累加树
    下一篇:leetcode——第669题——修剪二叉搜索树

    发表评论

    最新留言

    初次前来,多多关照!
    [***.217.46.12]2025年05月01日 23时05分46秒