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

浙江网站建设设计大连html5开发

浙江网站建设设计,大连html5开发,网站建设一般涉及后台功能,城市建设网站的项目背景❓ 剑指 Offer 36. 二叉搜索树与双向链表 难度#xff1a;中等 输入一棵二叉搜索树#xff0c;将该二叉搜索树转换成一个 排序的循环双向链表。要求不能创建任何新的节点#xff0c;只能调整树中节点指针的指向。 为了让您更好地理解问题#xff0c;以下面的二叉搜索树为…❓ 剑指 Offer 36. 二叉搜索树与双向链表 难度中等 输入一棵二叉搜索树将该二叉搜索树转换成一个 排序的循环双向链表。要求不能创建任何新的节点只能调整树中节点指针的指向。 为了让您更好地理解问题以下面的二叉搜索树为例 我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表第一个节点的前驱是最后一个节点最后一个节点的后继是第一个节点。 下图展示了上面的二叉搜索树转化成的链表。“head” 表示指向链表中有最小元素的节点。 特别地我们希望可以就地完成转换操作。当转化完成以后树中节点的左指针需要指向前驱树中节点的右指针需要指向后继。还需要返回链表中的第一个节点的指针。 注意此题对比原题有改动。 思路中序递归遍历 由二叉搜索树的性质中序遍历即为 递增序列。所以可以在中序遍历的时候完成双向链表的转化 定义两个结点 head 和 end 分别指向已转换链表的 头结点 和 尾结点 inOrder(root) 中序递归遍历 终止条件当 root 为空时返回递归调用左子树inOrder(root.left) ;构建链表 当到达树的最左边的第一个叶子节点即为 head当 end 不为空时修改双向结点引用 即 end.right root, root.left end更新 end 即 end root; 递归调用右子树 inOrder(root.right) 。 最后将双向链表首尾相连head.left end , end.right head。 代码(C、Java) C /* // Definition for a Node. class Node { public:int val;Node* left;Node* right;Node() {}Node(int _val) {val _val;left NULL;right NULL;}Node(int _val, Node* _left, Node* _right) {val _val;left _left;right _right;} }; */ class Solution { private:Node* head nullptr;Node* end nullptr;void inOrder(Node* root){if(root nullptr) return;inOrder(root-left);if(head nullptr) head root;//树的最左边的第一个叶子节点为headroot-left end;if(end ! nullptr) end-right root;end root;inOrder(root-right);} public:Node* treeToDoublyList(Node* root) {inOrder(root);if(head ! nullptr){head-left end;end-right head;}return head;} };Java /* // Definition for a Node. class Node {public int val;public Node left;public Node right;public Node() {}public Node(int _val) {val _val;}public Node(int _val,Node _left,Node _right) {val _val;left _left;right _right;} }; */ class Solution {private Node head null;private Node end null;private void inOrder(Node root){if(root null) return;inOrder(root.left);if(head null) head root;//树的最左边的第一个叶子节点为headroot.left end;if(end ! null) end.right root;end root;inOrder(root.right);}public Node treeToDoublyList(Node root) {inOrder(root);if(head ! null){head.left end;end.right head;}return head;} }运行结果 复杂度分析 时间复杂度 O ( n ) O(n) O(n)其中 n 为二叉树的节点数中序遍历需要访问所有节点。空间复杂度 O ( n ) O(n) O(n)最差情况下即树退化为链表时递归深度达到 n系统使用 O ( n ) O(n) O(n) 栈空间。 题目来源力扣。 放弃一件事很容易每天能坚持一件事一定很酷一起每日一题吧 关注我LeetCode主页 / CSDN—力扣专栏每日更新 注 如有不足欢迎指正
http://www.hkea.cn/news/14423963/

相关文章:

  • 网站开发引发的官司wordpress下载教程
  • 做实验的网站九江网站建设优化公司
  • wordpress前台视频上传长沙seo
  • wordpress中英文插件seo营销专员
  • c2c网站 多钱东莞做网站需要避免这些因素
  • iis网站批量导入莞城发布最新通告
  • 成都科技网站建设费淘宝天猫优惠券网站建设费用
  • 北京上云科技网站建设视觉设计网
  • 怎么样做网站代cms 导航网站
  • 网站排名易下拉系统12306网站建设投标书
  • 曹县网站开发微商城是怎么做的
  • 青岛微网站开发网站开发实例百度云
  • 营销网站建设苏州动漫网站html
  • 网站设计和管理容易吗最早做网页的公司
  • 静态网站开发预期效果wordpress wp_insert_attachment
  • 视频网站怎么做服务器文章内容网站系统
  • 网站制作西安网站设计师是什么部门
  • 网上有什么做兼职的网站中国中小企业信息网
  • 禹城市网站建设平谷区网站建设
  • 免费招聘网站哪个好东莞沙田最新消息
  • 架设仿冒网站挂马深圳 高端网站建设宝安
  • 网站建设合同内容网站开发续签
  • 百度创建网站吗网站建设方案书制作流程
  • 怎么在自己电脑上建网站深圳市官网网站建设
  • 网站静态页面生成网站友情链接怎么弄
  • 二级网站开发 一级关系福州网签查询系统
  • 网站开发工具概述与比较网站开发人员需求
  • 什么叫宣传类网站重庆市建设工程信息网官网造价
  • 悠悠我心的个人网站素材建设网站的步骤知乎
  • 中航建设集团有限公司网站wordpress 获取分类列表