摘要:题目要求给一个按照递增顺序排列的链表。将该链表转化为平衡二叉树。思路和代码在这里需要注意的是,因为提供的数据结构为链表,所以我们必须顺序遍历才能知道该链表的长度以及该链表的中间位置。并依次递归左子节点和右子节点。
题目要求
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
给一个按照递增顺序排列的链表。将该链表转化为平衡二叉树。
思路和代码在这里需要注意的是,因为提供的数据结构为链表,所以我们必须顺序遍历才能知道该链表的长度以及该链表的中间位置。在这里,我们可以采用递归的形式,而且在递归中我们通过双指针的方式找到其中的中间节点。并依次递归左子节点和右子节点。
public TreeNode sortedListToBST(ListNode head) { if(head==null) return null; return sortedListToBST(head, null); } public TreeNode sortedListToBST(ListNode head, ListNode tail){ if(head==tail) return null; ListNode fast = head; ListNode slow = head; while(fast!=tail && fast.next!=tail){ fast = fast.next.next; slow = slow.next; } TreeNode cHead = new TreeNode(slow.val); cHead.left = sortedListToBST(head, slow); cHead.right = sortedListToBST(slow.next, tail); return cHead; }
想要了解更多开发技术,面试教程以及互联网公司内推,欢迎关注我的微信公众号!将会不定期的发放福利哦~
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/67564.html
Problem Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST. For this problem, a height-balanced binary tree is defined as a binary tree in whi...
摘要:题目答案这里是不能等于也省去了把从中间分隔时,需要添加的麻烦 题目:Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST. 答案: /** * Definition for singly-linked list. * p...
摘要:我们可以用和两个值来限定子树在链表中的位置,通过递归的方式,深入找到最左边,然后开始顺序遍历链表链表当前节点作为全局变量,这样无论递归在哪我们都能拿到,同时建树。代码先递归的计算左子树创造根节点最后递归的计算右子树 Convert Sorted List to Binary Search Tree Given a singly linked list where elements ar...
摘要:思路根据的性质,问题转化为找一个里的中位数,用一个函数,一路找中点,再通过前序遍历的方法把起来代码 Convert Sorted Array to Binary Search Tree With Minimal Height Given a sorted (increasing order) array, Convert it to create a binarytree with m...
摘要:在线网站地址我的微信公众号完整题目列表从年月日起,每天更新一题,顺序从易到难,目前已更新个题。这是项目地址欢迎一起交流学习。 这篇文章记录我练习的 LeetCode 题目,语言 JavaScript。 在线网站:https://cattle.w3fun.com GitHub 地址:https://github.com/swpuLeo/ca...我的微信公众号: showImg(htt...
阅读 2966·2021-11-25 09:43
阅读 3585·2021-11-24 11:13
阅读 3353·2021-10-14 09:42
阅读 2555·2021-09-23 11:53
阅读 3604·2021-09-22 15:57
阅读 3220·2021-09-02 09:54
阅读 3498·2019-08-30 13:47
阅读 1637·2019-08-29 16:55