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

苏州沧浪区做网站衡水做wap网站价格

苏州沧浪区做网站,衡水做wap网站价格,最近消息报道,哈尔滨网站制作开发报价提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣226. 翻转二叉树二、力扣116. 填充每个节点的下一个右侧节点指针三、力扣114. 二叉树展开为链表 二叉树解题的思维模式分两类: 1、是否可以…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、力扣226. 翻转二叉树
  • 二、力扣116. 填充每个节点的下一个右侧节点指针
  • 三、力扣114. 二叉树展开为链表


二叉树解题的思维模式分两类: 1、是否可以通过遍历一遍二叉树得到答案?如果可以,用一个 traverse 函数配合外部变量来实现,这叫「遍历」的思维模式。 2、是否可以定义一个递归函数,通过子问题(子树)的答案推导出原问题的答案?如果可以,写出这个递归函数的定义,并充分利用这个函数的返回值,这叫「分解问题」的思维模式。 无论使用哪种思维模式,你都需要思考: 如果单独抽出一个二叉树节点,它需要做什么事情?需要在什么时候(前/中/后序位置)做?其他的节点不用你操心,递归函数会帮你在所有节点上执行相同的操作。

前言


一、力扣226. 翻转二叉树

遍历思想

/*** 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 {public TreeNode invertTree(TreeNode root) {treaverse(root);return root;}public void treaverse(TreeNode root){if(root == null){return;}TreeNode l = root.left;root.left = root.right;root.right = l;treaverse(root.left);treaverse(root.right);}
}

分解思想

/*** 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 {public TreeNode invertTree(TreeNode root) {return fun(root);}public TreeNode fun(TreeNode root){if(root == null){return null;}TreeNode lchild = fun(root.left);TreeNode rchild = fun(root.right);root.left = rchild;root.right = lchild;return root;}
}

二、力扣116. 填充每个节点的下一个右侧节点指针

/*
// Definition for a Node.
class Node {public int val;public Node left;public Node right;public Node next;public Node() {}public Node(int _val) {val = _val;}public Node(int _val, Node _left, Node _right, Node _next) {val = _val;left = _left;right = _right;next = _next;}
};
*/class Solution {public Node connect(Node root) {if(root == null){return root;}if(root.left != null && root.right != null){fun(root.left, root.right);}return root;}public void fun(Node node1, Node node2){if(node1 == null || node2 == null){return ;}node1.next = node2;fun(node1.left, node1.right);fun(node2.left,node2.right);fun(node1.right,node2.left);}
}

三、力扣114. 二叉树展开为链表

/*** 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 {public void flatten(TreeNode root) {fun(root);}public TreeNode fun(TreeNode root){if(root == null){return null;}TreeNode r1 = fun(root.left);TreeNode r2 = fun(root.right);if(r1 != null && r2 != null){r1.right = root.right;root.right = root.left;root.left = null;return r2;}if(r1 == null && r2 != null){return r2;}if(r2 == null && r1 != null){root.right = root.left;root.left = null;return r1;}return root;}
}

第二种解法

/*** 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 {public void flatten(TreeNode root) {if(root == null){return;}TreeNode r1 = root.left;TreeNode r2 = root.right;flatten(root.left);flatten(root.right);root.left = null;root.right = r1;TreeNode p = root;while(p.right != null){p = p.right;}p.right = r2;}
}
http://www.yayakq.cn/news/492982/

相关文章:

  • 燃气行业网站建设方案类似微薄利网站怎么做
  • 浙江杭州seo网站建设网站优化中天建设集团有限公司官网
  • 广东网站营销seo费用可以在手机建网站的
  • 网站只显示一个网址购买域名流程
  • 网站源码 手机 微信万网
  • 安徽论坛网站建设营销相关网站
  • 做一个英文网站西安建站费用
  • 最好看免费观看高清大全老师补课台州seo管理
  • 网页网站制作维护凯里市经济开发区建设局网站
  • 如何加强省市级政门户网站建设济南官网
  • 网站开发 费用南昌网站建设托管
  • 地方网站程序虚拟主机搭建网站
  • 网站公司seowordpress 首页403
  • 海曙区建设局网站网站建设规划书感受
  • 湖南批量出品机保定网站建设与seo
  • 网站建站 免费十大电子游戏平台网站
  • 建设银行成都市第九支行 网站网站建设维护成
  • 国外网站都不能上怎么做跨境电商企业网站建设的案例
  • 阿里云增加网站外贸推广有哪些好的方式
  • 网站统一做301电影网站 备案
  • 中国物流网官方网站做网站架构需要什么工具
  • 湖南网站建设公司 要上磐石网络网站手机端页面怎么做的
  • 企业网站建设课件网站的盈利方式
  • 朝阳市网站制作潍坊哪个网站公司做优化好
  • 像wordpress一样的网站吗专业的广州商城网站建设
  • 西宁做网站需要多少钱dw网页制作作业
  • 网站建设公司怀化南宁 江苏建设工程信息网站
  • 哈尔滨网站建设美丽专科医院网站建设
  • ico项目网站建设一起做网站广州
  • 定州网站制作怎么做移动端的网站