convert sorted list to binary search tree
来源:互联网 发布:淘宝怎么搜爱奇艺会员 编辑:程序博客网 时间:2024/06/11 01:44
题目:
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 binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution{ public: TreeNode* sortedListToBST(ListNode *head) { return sortedListToBST(head, listLength(head)); } TreeNode* sortedListToBST(ListNode* head, int len) { if (len == 0) return NULL; if (len == 1) return new TreeNode(head->val); //find the middle node TreeNode* root = new TreeNode(nth_node(head,len/2+1)->val); root->left = sortedListToBST(head,len/2); root->right = sortedListToBST(nth_node(head,len/2+2),(len-1)/2); return root; } int listLength(ListNode* node) { int n = 0; while (node) { n++; node = node->next; } return n; } ListNode* nth_node(ListNode* node, int n) { while (--n) node = node->next; return node; }};
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
- 2016.3.14__CSS 浮动__第五天
- 7个示例科普CPU Cache line
- Activity栈清空
- cvSmooth 平滑处理
- 在bash中编辑文本
- convert sorted list to binary search tree
- Spring的jdbcTemplate完成登录用户登录功能
- lightoj 1021 - Painful Bases 状压DP
- FragmentActivity中关于actionbar的设置问题
- pyinstaller--将py文件转化成exe
- 【Codeforces613D】Kingdom and its Cities【虚树】【Tree DP】
- hiho 1270(dp)
- 使用java,计算一段文本中出现英语单词次数最多的单词
- 设计模式总结