题目要求:根据一个已升序排序的链表构造出一颗平衡的二叉树。
思路:最初我的想法是把这个链表放到一个数组中,再用数组构造平衡二叉树的方法还原出来。但是则样做内存超过题目要求了,只能用别的办法。
看到网上有人用中序的思路求解,觉得是个不错的办法,学习了一下。
中序遍历的顺序是先左再根再右,如果这是一颗已排序的二叉树,那么中序遍历这棵二叉树得到的序列就是升序的序列,反过来思考,给定一个升序的序列的链表,如果我们按照中序遍历的思想,也能还原出这颗二叉树。
代码如下。
题目要求:根据一个已升序排序的链表构造出一颗平衡的二叉树。
思路:最初我的想法是把这个链表放到一个数组中,再用数组构造平衡二叉树的方法还原出来。但是则样做内存超过题目要求了,只能用别的办法。
看到网上有人用中序的思路求解,觉得是个不错的办法,学习了一下。
中序遍历的顺序是先左再根再右,如果这是一颗已排序的二叉树,那么中序遍历这棵二叉树得到的序列就是升序的序列,反过来思考,给定一个升序的序列的链表,如果我们按照中序遍历的思想,也能还原出这颗二叉树。
代码如下。
本文标题:[LeetCode OJ]-Convert Sorted Lis
本文链接:https://www.haomeiwen.com/subject/eoilottx.html
网友评论