leetcode-109 Convert Sorted List to Binary Search Tree
来源:互联网 发布:idc机房网络架构 编辑:程序博客网 时间:2024/06/14 16:57
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
使用快慢两个指针找到单链表的中间节点,作为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) return NULL; if(!head->next) return new TreeNode(head->val); ListNode* fast = head; ListNode* slow = head; ListNode* prev = NULL; while(fast&&fast->next){ fast = fast->next->next; prev = slow; slow = slow->next; } TreeNode* root = new TreeNode(slow->val); prev->next = NULL; root->left = sortedListToBST(head); root->right = sortedListToBST(slow->next); return root; }};
阅读全文
0 0
- LeetCode(109)Convert Sorted List to Binary Search Tree
- LeetCode: Convert Sorted List to Binary Search Tree [109]
- LeetCode 109 Convert Sorted List to Binary Search Tree
- LeetCode 109 Convert Sorted List to Binary Search Tree
- [leetcode 109] Convert Sorted List to Binary Search Tree
- [LeetCode 109]Convert Sorted List to Binary Search Tree
- leetcode || 109、Convert Sorted List to Binary Search Tree
- 【leetcode】【单链表】【109】Convert Sorted List to Binary Search Tree
- Convert Sorted List to Binary Search Tree - LeetCode 109
- leetcode[109]:Convert Sorted List to Binary Search Tree
- LeetCode(109) Convert Sorted List to Binary Search Tree
- Leetcode #109 Convert Sorted List to Binary Search Tree
- leetcode 109: Convert Sorted List to Binary Search Tree
- LeetCode(109) Convert Sorted List to Binary Search Tree
- 109 Convert Sorted List to Binary Search Tree [Leetcode]
- LeetCode—109 Convert Sorted List to Binary Search Tree
- 【LEETCODE】109-Convert Sorted List to Binary Search Tree
- LeetCode 109 Convert Sorted List to Binary Search Tree
- UVA 136 & POJ1338 Ugly Numbers
- Retrofit的简单使用
- Unity游戏接入百度移动广告
- Shell变量作用域
- 拼多多前端笔试题
- leetcode-109 Convert Sorted List to Binary Search Tree
- 使Java线程停止的两种方法
- 生成一个对象的细节过程
- java多线程学习
- JDK多任务执行框架--------Executor框架
- linux- 系统的延时和定时命令
- STM32 IAP 设计实例 (一)
- 豆瓣相册图片爬虫
- 深入理解机器学习:从理论到算法-习题全解之第十六章:核方法