当前位置: 首页 > news >正文

安徽省招标投标信息网官方网站网站做二级域名

安徽省招标投标信息网官方网站,网站做二级域名,装饰公司怎么找客户,网站系统模板力扣109:有序链表转换二叉搜索树题目思路代码题目 给定一个单链表的头节点 head ,其中的元素 按升序排序 ,将其转换为 平衡 二叉搜索树。 思路 想完成这道题我们得先知道什么是平衡二叉搜索树,平衡二叉搜索树的定义是左右子树的高度差不能…

力扣109:有序链表转换二叉搜索树

  • 题目
  • 思路
  • 代码

题目

给定一个单链表的头节点 head ,其中的元素 按升序排序 ,将其转换为 平衡 二叉搜索树。

思路

想完成这道题我们得先知道什么是平衡二叉搜索树,平衡二叉搜索树的定义是左右子树的高度差不能超过1。
所以这道题的关键是找到一个合适的根节点,因为如果根节点太小就会导致右子树的高度远大于左子树,根节点太大就导致左子树的高度远大于右子树也就不符合题意了。那么什么样的根节点才是最好的呢?链表的中间节点!如果链表的长度是奇数那么让中间节点来当根节点的话左右子树的高度就是相同的,如果链表的长度是偶数那么左右子树的高度也只是差1而已刚好符合平衡二叉搜索树的定义。想要找到链表的中间节点我们可以使用快慢指针的方法,在找到中间节点后我们就可以使用相同的方法来构建左子树和右子树。

代码

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     ListNode *next;*     ListNode() : val(0), next(nullptr) {}*     ListNode(int x) : val(x), next(nullptr) {}*     ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/
/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:ListNode* getMid(ListNode* left,ListNode* right){ListNode* fast = left;ListNode* slow = left;while(fast != right && fast->next != right){fast = fast->next->next;slow = slow->next;}return slow;}TreeNode* buildTree(ListNode* left,ListNode* right){if(left == right){return nullptr;}TreeNode* root = new TreeNode();//获得中间节点ListNode* mid = getMid(left,right);root->val = mid->val;root->left = buildTree(left,mid);root->right = buildTree(mid->next,right);return root;}TreeNode* sortedListToBST(ListNode* head) {return buildTree(head,nullptr);}
};
http://www.dtcms.com/a/575736.html

相关文章:

  • 免费包装设计网seo站长工具 论坛
  • 哔哩哔哩网站怎么做视频哈尔滨百度推广电话
  • 网站开发价格对比无锡网站建设标准
  • 夷陵区住房和城乡建设局网站网站如何优化推广
  • 阜宁网站制作收费在线咨询wordpress 培训
  • 用asp做的网站打开页面很慢北京网站建设曝光尚词网
  • 如何用网站做淘宝联盟全国商城网站建设
  • 自己做个网站用什么软件好自己怎么建立微网站后台
  • dede 企业网站模板vue做普通网站页面跳转
  • 网站风格特点北京正规网站建设经历
  • wordpress备份 ftp同一个网站可以同时做竞价和优化
  • 怎样制作自己公司的网站怎么创一个网站
  • 西安网站建设行业动态cms网站系统
  • 采集wordpress整站数据沈阳市建设工程信息网招标公告
  • 手机商城+手机网站建设多少钱社交网络的推广方法有哪些
  • 南通企业建站系统模板扬中市平台公司
  • 微信公众号制作网站wordpress导入demo
  • 尚仁网站建设网站建设私人合同范本
  • 网站权重分为几个等级网络在线培训网站建设方案
  • 外贸网站 站长工具广州平面设计公司排名榜
  • 自己做网站赚钱吗不会被禁止访问的浏览器
  • 温州最便宜网站建设php小型网站源码
  • 网站开发用c语言吗一个主机可以放几个网站
  • canvas效果网站做网站怎么销售
  • wordpress grace龙岗网站优化公司案例
  • 佛山网站建设拓客科技鲜花网站数据库建设分析
  • 网站建设涉及的内容wordpress显示分类文章
  • 做外贸需要用到什么网站asp网站500错误
  • 企业网站开发外包公司wordpress 浏览次数 2
  • 看设计比较好的网站受欢迎的做pc端网站