算法

[LeetCode OJ]-Convert Sorted Lis

2017-03-27  本文已影响0人  其中一个cc

题目要求:根据一个已升序排序的链表构造出一颗平衡的二叉树。

思路:最初我的想法是把这个链表放到一个数组中,再用数组构造平衡二叉树的方法还原出来。但是则样做内存超过题目要求了,只能用别的办法。

看到网上有人用中序的思路求解,觉得是个不错的办法,学习了一下。

中序遍历的顺序是先左再根再右,如果这是一颗已排序的二叉树,那么中序遍历这棵二叉树得到的序列就是升序的序列,反过来思考,给定一个升序的序列的链表,如果我们按照中序遍历的思想,也能还原出这颗二叉树。

代码如下。

上一篇下一篇

猜你喜欢

热点阅读