109. Convert Sorted List to Binary Search Tree
来源:互联网 发布:mac版finale怎么激活 编辑:程序博客网 时间:2024/06/04 01:34
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* Solve(ListNode *&p, int start, int last) { if (start > last) return NULL; int iMid = (start + last) / 2; TreeNode * tnLeft = Solve(p, start, iMid - 1); TreeNode * root = new TreeNode(p->val); root->left = tnLeft; p = p->next; TreeNode * tnRight = Solve(p, iMid + 1, last); root->right = tnRight; return root; } TreeNode* sortedListToBST(ListNode* head) { if (head == NULL) return NULL; ListNode *p = head; int iLen = 0; while (p != NULL) { p = p->next; iLen++; } return Solve(head, 0, iLen - 1); }};
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
- Codeforce 731 F. Video Cards
- LeetCode150—Evaluate Reverse Polish Notation
- jsp生成html
- java作用域关键字public ,private ,protected 及不写时的区别
- blockhouses
- 109. Convert Sorted List to Binary Search Tree
- 建立 HDFS 各类目录权限 及shell 脚本代码
- 浏览器工作原理(九):动态变化和渲染引擎的线程
- [Linux C编程]堆和栈的概念
- Cocos2d-坐标系详解
- C++学习日记
- linux的ar命令: 目标文件(.o)<===> 静态库(.a)
- sychronized 同步的等待和唤醒锁的状态
- 结构体读写txt文件