leetcode - Convert Sorted List to Binary Search Tree

转载 2015年07月09日 23:51:30

题目:

Convert Sorted List to Binary Search Tree

Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    TreeNode* sortedListToBST(ListNode* head) {
        if(head==nullptr)
            return nullptr;
        int len=0;
        ListNode* cur=head;
        while(cur)
        {
            ++len;
            cur=cur->next;
        }
        return sortedListToBST(head,0,len-1);
    }
    TreeNode* sortedListToBST(ListNode* &head,int begin,int end)
    {
        if(begin>end)
            return nullptr;
        if(begin==end)
        {
            TreeNode* root=new TreeNode(head->val);
            head=head->next;
            return root;
        }
        int mid=begin+(end-begin)/2;
        TreeNode* leftchild=sortedListToBST(head,begin,mid-1);
        TreeNode* root=new TreeNode(head->val);
        head=head->next;
        root->left=leftchild;
        root->right=sortedListToBST(head,mid+1,end);
        return root;
    }
    
    
};


【LeetCode-面试算法经典-Java实现】【109-Convert Sorted List to Binary Search Tree(排序链表转换成二叉排序树)】

【109-Convert Sorted List to Binary Search Tree(排序链表转换成二叉排序树)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  G...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月10日 07:46
  • 2751

二叉搜索树(Binary Search Tree )的定义及分析

定义:     二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 每个结点都有一个作为搜索依据的关键码(key),所有结点的关键码互不相同。 左子树(如果非空)上所...
  • jsh13417
  • jsh13417
  • 2013年01月22日 21:59
  • 3322

【LeetCode-面试算法经典-Java实现】【103-Binary Tree Zigzag Level Order Traversal(二叉树分层Z字形遍历)】

【103-Binary Tree Zigzag Level Order Traversal(二叉树分层Z字形遍历)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Give...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月08日 06:35
  • 2569

【LeetCode-面试算法经典-Java实现】【109-Convert Sorted List to Binary Search Tree(排序链表转换成二叉排序树)】

【109-Convert Sorted List to Binary Search Tree(排序链表转换成二叉排序树)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  G...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月10日 07:46
  • 2751

LeetCode- 108/109. Convert Sorted Array/List to Binary Search Tree (JAVA)

LeetCode- 108/109. Convert Sorted Array/List to Binary Search Tree (JAVA),109. Convert Sorted List ...
  • mine_song
  • mine_song
  • 2017年04月13日 00:09
  • 216

LeetCode(109)Convert Sorted List to Binary Search Tree

题目如下: Given a singly linked list where elements are sorted in ascending order, convert it to a heigh...
  • feliciafay
  • feliciafay
  • 2014年01月19日 10:53
  • 2343

LeetCode109 Convert Sorted List to Binary Search Tree

详细见:leetcode.com/problems/convert-sorted-list-to-binary-search-tree Java Solution: github pa...
  • zxwtry
  • zxwtry
  • 2017年04月29日 18:55
  • 120

LeetCode | Convert Sorted List to Binary Search Tree(链表转换成二叉搜索树)

Given a singly linked list where elements are sorted in ascending order, convert it to a height bala...
  • a45872055555
  • a45872055555
  • 2014年08月14日 16:11
  • 482

<LeetCode OJ> 109 / 108 Convert Sorted ( List / Array ) to Binary Search Tree

Total Accepted: 71642 Total Submissions: 233074 Difficulty: Medium Given a singly linked list w...
  • EbowTang
  • EbowTang
  • 2016年06月02日 21:48
  • 744

【LeetCode】Convert Sorted List to Binary Search Tree

题目:Convert Sorted List to Binary Search Tree /**LeetCode convert link-list to Binary Search T...
  • u011955072
  • u011955072
  • 2015年03月28日 23:55
  • 502
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:leetcode - Convert Sorted List to Binary Search Tree
举报原因:
原因补充:

(最多只允许输入30个字)