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

南通六建网站天津百度seo排名优化

南通六建网站,天津百度seo排名优化,wap游戏引擎,网站运营这么做给定一个单链表的头节点 head #xff0c;其中的元素 按升序排序 #xff0c;将其转换为 平衡 二叉搜索树。 示例 1: 输入: head [-10,-3,0,5,9] 输出: [0,-3,9,-10,null,5] 解释: 一个可能的答案是[0#xff0c;-3,9#xff0c;-10,null,5]#xff0c;它表示所示的高度…给定一个单链表的头节点  head 其中的元素 按升序排序 将其转换为 平衡 二叉搜索树。 示例 1: 输入: head [-10,-3,0,5,9] 输出: [0,-3,9,-10,null,5] 解释: 一个可能的答案是[0-3,9-10,null,5]它表示所示的高度平衡的二叉搜索树。示例 2: 输入: head [] 输出: []提示: head 中的节点数在[0, 2 * 104] 范围内-105  Node.val 10 思路先获取到链表的长度然后去递归构造树即可每次构造的树节点永远是链表或子链表的中心但是由于是单向链表所以每次获取链表中的节点的时候就会导致每次都从头开始可以用循环链表改善如果要构造的节点的坐标大于length/2的时候就next length -index次然后递归构造设置临界条件即可若length为0就是无节点如果length为1就是叶子节点。然后上代码 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; }* }*/ /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right) {* this.val val;* this.left left;* this.right right;* }* }*/ class Solution {ListNode temp;public TreeNode sortedListToBST(ListNode head) {temp head;// 思路就是取链表的中心节点作为总树或子树的根节点然后循环、递归int length getListLength(head);return buildTree(0, length);}public TreeNode buildTree(int start ,int length) {int i 0;ListNode t temp;while (i start length/2) {t t.next;i;}// 如果是0直接为nullif (length 0) return null;// 如果length为1的时候直接返回因为它已经是树叶节点了if (length 1) return new TreeNode(t.val, null, null);// 遍历到中心节点就构造节点return new TreeNode(t.val, buildTree(start, length/2), buildTree(start length/2 1, length-1-length/2));}// 获取节点总节点数public int getListLength(ListNode head) {int length 0;while(head ! null) {length;head head.next;}return length;}} 快慢指针也是解决中间值问题的一个快速的解决办法思路相同只是取中间值的方法不同。 class Solution {public TreeNode sortedListToBST(ListNode head) {return buildTree(head, null);}public TreeNode buildTree(ListNode left, ListNode right) {if (left right) {return null;}ListNode mid getMedian(left, right);TreeNode root new TreeNode(mid.val);root.left buildTree(left, mid);root.right buildTree(mid.next, right);return root;}public ListNode getMedian(ListNode left, ListNode right) {ListNode fast left;ListNode slow left;while (fast ! right fast.next ! right) {fast fast.next;fast fast.next;slow slow.next;}return slow;} }
http://www.w-s-a.com/news/729080/

相关文章:

  • 查公司信息的网站怎么学wordpress
  • 白银做网站长春一般建一个网站需要多少钱
  • 帮人做钓鱼网站的人网络推广培训职业学校
  • 淘宝客有必须做网站吗网站开发的形式有( )
  • 网站建设:上海珍岛网页版qq空间登录
  • 网站服务器ipteahouse wordpress主题
  • 深州市住房保障和城乡建设局网站做网站公司叫什么
  • 织梦网站转跳手机站注册公司代理记账费用
  • wordpress建站Pdf亚马逊aws在线观看
  • 做网站的外包公司有哪些WordPress调用json数据
  • 做网站网站怎么赚钱网站的建设及维护报告
  • 可以做效果图的网站东莞网站优化什么方法
  • 网站和软件的区别怎么做招生网站
  • 雄安免费网站建设电话如何做网站推广 求指点
  • 十大免费cad网站入口软件北京做网站建设价格
  • 建设一个公司网站要具备什么网页制作的专业
  • 东莞seo建站排名全包网站
  • 网站建设的基本步骤有哪些软件商店下载官方
  • 网站建设开发报告论文hao123上网从这里开始官方
  • 阿里云建网站费用徐州房产网
  • 网站统计分析平台做企业礼品的网站
  • 做可视化图表的网站wordpress批量导入tag
  • txt怎么做网站网站的链接结构包括
  • 适合平面设计师的网站网络营销专员的就业前景
  • 好订单网服装加工接单谷歌seo网站推广怎么做
  • seo泛站群外贸网站建设团队
  • 网站免费维护建立网站国家城乡建设部投诉网站
  • 企业网站必须备案吗wordpress导入数据库依然无法链接
  • 浅谈高校网站群的建设网站不支持m.域名
  • 和平网站建设公司做实验教学视频的网站