您的位置:首页 > 理论基础 > 数据结构算法

【数据结构与算法】数组和单链表转平衡二叉树

2017-01-05 19:07 661 查看
题目108【1】升序数组转平衡二叉树

【思路】每次都找到数组中间的元素,作为跟节点,左半部分组成根节点的坐子树,右半部分组成根节点的右子树。采用递归的做法。

【代码】



题目109【2】升序单链表转平衡二叉树

【思路1】单链表的话,取中间的元素不容易,因此首先将单链表转化为数组,而后采用上述方法解决。

【代码1】



【思路2】

与数组思路相同,每次通过遍历,找到单链表的中间节点和最后的节点。方法时,在遍历单链表偶的过程中,保存三个指针,最终第一个指针指向中间节点的前一个节点,第二个指针指向中间节点,第三个指针指向最后的节点。同样采用递归的方法。

【代码2】

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  单链表 二叉树