leetcode之链表转换成平衡二叉树
来源:互联网 发布:单片机为什么需要复位 编辑:程序博客网 时间:2024/05/26 02:51
这题起初自己写的,忘记记录中间节点的前面一个节点了,把中间节点算在左子树里面了,
所以一直AC不了,后来看了别人写的发现要记录前面一个节点,才想起来自己搞错了,把中间节点
算在了左子树里面,其实很简单,具体看代码:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; *//** * Definition for binary tree * 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) return NULL; if(!head->next) return new TreeNode(head->val); ListNode *fast,*slow,*pre=NULL; fast=slow=head; while(fast!=NULL&&fast->next!=NULL){ pre=slow; fast=fast->next->next; slow=slow->next; } TreeNode *tem=new TreeNode(slow->val); pre->next=NULL; tem->right=sortedListToBST(slow->next); tem->left=sortedListToBST(head); return tem; } };
0 0
- leetcode之链表转换成平衡二叉树
- LeetCode中将升序链表转换成平衡二叉树
- LeetCode中 将升序链表转换成平衡二叉树
- LeetCode之判断高度平衡二叉树
- 转换平衡二叉树
- 平衡二叉树转换
- 有序单向链表转换为平衡搜索二叉树
- 有序链表转换为平衡二叉树(BST)
- 平衡二叉搜索树BST转换为双向链表
- LinkedList转换成平衡二叉树
- 算法之 有序链表和平衡二叉树 有序数组与平衡二叉树
- leetcode 判断平衡二叉树
- 【leetcode 二叉树平衡判断】
- leetcode 平衡二叉树判断
- LeetCode之根据序列求平衡二叉树
- LeetCode之根据升序的单链表构造平衡二叉树
- leetcode之判断是否为平衡二叉树
- LeetCode | Convert Sorted Array to Binary Search Tree(有序数组转换成平衡二叉树搜索树)
- 插入数据之后获得表唯一主键
- 如何区分“invoice代码”和“invoice号码”?
- Jetson TK1 + ROS Rviz出现的问题:segmentation fault 及解决方案
- 命令行工具解析Crash文件,dSYM文件进行符号化
- nginx upstream
- leetcode之链表转换成平衡二叉树
- 字符串与base64互转
- Android6.0 显示系统(三) 管理图像缓冲区
- 机器学习
- JQuery简单实现菜单的点击效果
- 使用Openstack创建项目和虚拟机
- Centos7上搭建SVN服务器并实现自动同步至web目录
- 3.2、Dcoker-1.12 search(搜索镜像)和pull(拉取镜像)[五]
- zookeeper学习(高级特性)