109. Convert Sorted List to Binary Search Tree
来源:互联网 发布:淘宝新店引流量 编辑:程序博客网 时间:2024/06/07 17:11
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 == NULL) return NULL; if (head->next == NULL) return (new TreeNode(head->val)); int len = 0; ListNode *cur = head; while (cur) { cur = cur->next; ++len; } return sortedListToBST(head, len); } TreeNode* sortedListToBST(ListNode* head, int len) { if (head == NULL || len == 0) return NULL; int mid_index = len / 2; int left_len = len / 2; int right_len = len / 2 - 1 + len % 2; ListNode *mid = head; for (int i = 0; i < mid_index; ++i) mid = mid->next; ListNode *right = mid->next; TreeNode *root = new TreeNode(mid->val); if (left_len) root->left = sortedListToBST(head, left_len); if (right_len) root->right = sortedListToBST(right, right_len); return root; }};
0 0
- Tree-----109. 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
- PAT甲级 1002. A+B for Polynomials (25) 题目翻译与答案
- 尾递归以及在浏览器中的实现
- MySQL事务隔离级别和Spring事务关系介绍
- 【数据结构与算法】 一些知识点零零总总(引用网络知识点节选重组)
- HiveQL:数据定义
- 109. Convert Sorted List to Binary Search Tree
- CPU Notes
- tomcat注册为系统服务后,项目无法启动或者启动后页面中文乱码
- UVA12100 Printer Queue 【双端队列】
- Android学习笔记之蓝牙通信...
- SVG(可缩放矢量图形)绘制工具Method Draw
- docker原理及基本概念
- 问题四十二:怎么用ray tracing画任意圆环片段
- 【JZOJ 3854】分组