[LeetCode] Convert Sorted List to Binary Search Tree
来源:互联网 发布:java ssh 教程 编辑:程序博客网 时间:2024/05/20 04:28
Convert Sorted List to Binary Search Tree
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
解题思路:
题意为构造有序链表的二分查找树。找到中间节点的办法用双指针法。注意我们还需要保存中间节点的前一个节点,便于一个链表分成两个链表。注意滴38行,是将链表恢复成原来的模样。
/** * 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; } ListNode* myHead = new ListNode(0); myHead->next = head; ListNode* pre = myHead; ListNode* one = head, *two = head; while(two->next!=NULL && two->next->next!=NULL){ pre = pre->next; one = one->next; two = two->next->next; } two = one->next; pre->next = NULL; TreeNode* root = new TreeNode(one->val); root->left = sortedListToBST(myHead->next); root->right = sortedListToBST(two); pre->next = one; //恢复链表结构 //delete one; //这里为啥不能删除? delete myHead; return root; }};
0 0
- 【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
- ios 动画的时候 如果加阴影 会卡顿的
- 25-GUI-02-GUI(Frame演示)
- 十八款Hadoop工具帮你驯服大数据
- 编译与链接的问题 gcc -fPIC -shared
- 黑马程序员————其他类对象
- [LeetCode] Convert Sorted List to Binary Search Tree
- hibernate annotation注解方式来处理映射关系
- iOS入门(二十八)事件处理
- 25-GUI-03-GUI(事件监听机制)
- Windows系统线程池+利用windows自带的线程池
- IOS中定时器NSTimer的使用
- 1003 max sum
- AT command
- 25-GUI-04-GUI(ActionListener演示)