1. 程式人生 > >在codewars裡升級吧~5:一道5級題程式碼及講解視訊

在codewars裡升級吧~5:一道5級題程式碼及講解視訊

我在codewars裡講的東西說不定會在大專案裡重複,但是做大專案得到的東西遠遠要比練演算法題要多的多。還是做好再拖幾期的準備哦, 準時間是不可能說的,說完又要鴿了。

今天講的還是一道5級題。剛做出來時,覺得只有4行程式碼,太簡單沒有什麼好講的,於是決定順便講講別人都是如何解這道題的。

騰訊講解視訊連結

https://v.qq.com/x/page/c0733lw3d2z.html

b站講解視訊連結

https://www.bilibili.com/video/av27620749

題  目

You are given a non-null array of integers. Implement the method array To Tree which creates a binary tree from its values in accordance to their order, while creating nodes by depth from left to right.

SOLUTION

 class Solution {
public:
    static TreeNode* ArrayToTree_R(std::vector<int>& arr, int pointer) {
        if (arr.size() <= pointer) return nullptr;
        return new TreeNode(arr[pointer], ArrayToTree_R(arr, pointer * 2 + 1), ArrayToTree_R(arr, pointer * 2 + 2));
        }
    static TreeNode* arrayToTree(std::vector<int> arr) {
        return ArrayToTree_R(arr, 0);
    }
};