Convert Sorted List to Binary Search Tree
来源:互联网 发布:阿里云ddns客户端 编辑:程序博客网 时间:2024/05/01 18:05
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
Solution:
/** * 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* dfs(ListNode*& head, int left, int right) { if(left > right) return NULL; int mid = (left + right) / 2; TreeNode* leftTree = dfs(head, left, mid - 1); TreeNode* root = new TreeNode(head->val); head = head->next; TreeNode* rightTree = dfs(head, mid + 1, right); root->left = leftTree; root->right = rightTree; return root; } TreeNode* sortedListToBST(ListNode* head) { int len = 0; ListNode* p = head; while(p != NULL) { len++; p = p->next; } return dfs(head, 0, len - 1); }};
0 0
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- convert sorted list to binary search tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree
- virmon防火墙有了升级
- 安卓史上最简单扫描二维码和生成二维码
- C语言中对文件的操作
- Memcached客户端(memcached-Java-client)与 Spring集成(单服务器)
- 关于路由器上网设置
- Convert Sorted List to Binary Search Tree
- win8 C 盘 突然少了 十几G 空间 原因,解决方法
- c++ 与C# 单例代码简单实现
- 算法分析--数量级比较
- Visual Studio 各版本下载
- 典型大数题(解体模板)
- 解决AngularJS在安卓WebView中跳转时不刷新的问题
- 学习solr不错的系列博文
- java多线程学习笔记——相关名词介绍