zoukankan      html  css  js  c++  java
  • Leetcode 之Convert Sorted Array to Binary Search Tree(54)

    思路很简单,用二分法,每次选中间的点作为根结点,用左、右结点递归。

    TreeNode* sortedArrayToBST(vector<int> &num)
          {
              return sortedArrayToBST(num.begin(), num.end());
          }
          template<typename RandomAccessIterator>
          TreeNode* sortedArrayToBST(RandomAccessIterator first, RandomAccessIterator last)
          {
              const auto length = distance(first, last);
              if (length <= 0)return nullptr;
    
              auto mid = first + length / 2;
              TreeNode *root = new TreeNode(*mid);
              root->left = sortedArrayToBST(first, mid);
              root->right = sortedArrayToBST(mid, last);
    
              return root;
          }
    View Code
  • 相关阅读:
    2021-4-20 日报博客
    2021-4-19 日报博客
    2021-4-17 周报博客
    java web
    java web
    java web
    java
    java
    周末总结8
    java web
  • 原文地址:https://www.cnblogs.com/573177885qq/p/5594322.html
Copyright © 2011-2022 走看看