美文网首页
109. Convert Sorted List to Bina

109. Convert Sorted List to Bina

作者: jecyhw | 来源:发表于2019-06-13 06:59 被阅读0次

题目链接

https://leetcode.com/problems/convert-sorted-list-to-binary-search-tree/

代码

class Solution {
public:
    ListNode* head;
    int size(ListNode* head) {
        int cnt = 0;
        while (head != NULL) {
            cnt++;
            head = head->next;
        }
        return cnt;
    }

    TreeNode* dfs(int s, int e) {
        if (s > e) {
            return NULL;
        }

        int m = (s + e) / 2;
        TreeNode* left = dfs(s, m - 1);
        TreeNode* parent = new TreeNode(head->val);
        parent->left = left;
        head = head->next;
        parent->right = dfs(m + 1, e);
        cout<<parent->val<<endl;
        return parent;

    }
    TreeNode* sortedListToBST(ListNode* head) {
        this->head = head;
        int cnt = size(head);
        return dfs(0, cnt - 1);
    }
};

相关文章

网友评论

      本文标题:109. Convert Sorted List to Bina

      本文链接:https://www.haomeiwen.com/subject/xdwdfctx.html