LeetCode | Convert Sorted List to Binary Search Tree
来源:互联网 发布:sqlyog修改数据库密码 编辑:程序博客网 时间:2024/05/28 16:05
题目:
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
思路:
类似http://blog.csdn.net/lanxu_yy/article/details/11898523,不过需要利用链表的方式找到中间节点。代码:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; *//** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: ListNode* getMid(ListNode *head, ListNode *tail) { if(head == tail) return NULL; else { ListNode * slow=head; ListNode * fast=head; while(fast != tail && fast->next != tail) { slow = slow->next; fast = fast->next->next; } return slow; } } TreeNode *sortedListToBST(ListNode *head) { // Start typing your C/C++ solution below // DO NOT write int main() function return sortedArrayToBST(head, NULL); } TreeNode *sortedArrayToBST(ListNode *head, ListNode *tail) { ListNode * p = getMid(head, tail); if(p == NULL) { return NULL; } else { TreeNode * parent = new TreeNode(p->val); parent->left = sortedArrayToBST(head, p); parent->right = sortedArrayToBST(p->next, tail); return parent; } }};
- 【LeetCode】Convert Sorted Array to Binary Search Tree && Convert Sorted List to Binary Search Tree
- LeetCode[Tree]: Convert Sorted List to Binary Search Tree
- [leetcode][list][dfs] Convert Sorted List to Binary Search Tree
- LeetCode: Convert Sorted List to Binary Search Tree
- [LeetCode]Convert Sorted List to Binary Search Tree
- LeetCode : Convert Sorted List to Binary Search Tree
- [Leetcode] Convert Sorted List to Binary Search Tree
- Leetcode: Convert Sorted List to Balanced Binary Search Tree
- [LeetCode] Convert Sorted List to Binary Search Tree
- leetcode 66: Convert Sorted List to Binary Search Tree
- leetcode Convert Sorted List to Binary Search Tree
- LeetCode Convert Sorted List to Binary Search Tree
- leetcode Convert Sorted List to Binary Search Tree
- LeetCode:Convert Sorted List to Binary Search Tree
- [LeetCode]Convert Sorted List to Binary Search Tree
- [Leetcode]Convert Sorted List to Binary Search Tree
- [leetcode]Convert Sorted List to Binary Search Tree
- Leetcode: Convert Sorted List to Binary Search Tree
- QT在ui文件上建立信号操机制会不会对后期维护产生影响
- [023] Android平台的信息推送实现 .
- vim中删除技巧
- Android UI 之WaterFall瀑布流效果
- 特定长度字段左边填补0
- LeetCode | Convert Sorted List to Binary Search Tree
- 从 相对路径 说开来(从C++到Qt)
- 什么叫内存对齐 -就是字节对齐
- PyQt学习笔记(6)——Actions and Key Sequences
- pthread_cleanup_push与pthread_cleanup_pop的目的 作用
- Apache下的虚拟主机设置
- div style常用属性和实例代码
- Cocos2dx 播放flash动画
- oracle psu 情况