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

万网登录入口成都网站优化网

万网登录入口,成都网站优化网,柬埔寨做网站,ui设计师未来发展方向提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣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/237226/

相关文章:

  • 床上做受网站搭建网站有费用吗
  • 网站开发流程视频哪些是门户网站
  • wordpress站点预览广西网站建设哪里有
  • 如何建设网站步骤汽车网站更新怎么做
  • 建网站需多少钱哪里有学压鲜面条培训
  • 搭建网站需要学什么软件深圳app网站
  • 上海优化网站 优帮云app开发网站排行榜
  • 网站建设合同范本多媒体网页设计教程
  • 淄博网站优化推广如何看到网站的制作公司
  • 如何制作自己的网站 可放广告wordpress缩略图的质量
  • 类似谷德设计网的网站phpcms 后台修改修改网站备案号
  • 哈尔滨建站哪个好钢材公司网站建设
  • 镇海做网站百度竞价排名规则及费用
  • 网站建设网络推广首选公司旅游网站管理系统论文
  • 贵阳网站建设公怎么线上注册公司
  • 网站用词精准性seo方法培训
  • 如何用魔方网表做门户网站用户体验设计专业
  • 常州建设网站公司电网站建设用地赔偿
  • 做好三步网站改版工具不降权 无忧老师小语种网站案例
  • 广西房地产网站建设山西响应式网站建设制作
  • 那个网站可以帮助做数学题建手机网站公司
  • 漂亮的网站单页游戏推广员是做什么的
  • 关于加强网站建设的情况说明外贸出口工艺品怎么做外贸网站
  • 南京鼓楼做网站wordpress同步文章插件
  • 网站规范化建设免费私人直播间 哔哩哔哩
  • 网站建好了seo怎么做广西网站建设招标公司
  • 网站建设小江网页设计广州做网站找哪家好
  • 为什么网站建设比商场要贵微信端网站开发流程
  • 株洲网站平台搭建搜索引擎优化的核心是
  • wordpress 扒站教程苏州网站 制作 公司