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

网站建设 500强建站深圳谷歌优化seo

网站建设 500强建站,深圳谷歌优化seo,张戈博客 wordpress同步新浪微博,地方门户cms目录 1. 二叉树的锯齿形层序遍历 🌟🌟 2. 从中序与后序遍历序列构造二叉树 🌟🌟 3. 平衡二叉树 🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专…

目录

1. 二叉树的锯齿形层序遍历  🌟🌟

2. 从中序与后序遍历序列构造二叉树  🌟🌟

3. 平衡二叉树  🌟

🌟 每日一练刷题专栏 🌟

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏


1. 二叉树的锯齿形层序遍历

给定一个二叉树,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。

例如:给定二叉树 [3,9,20,null,null,15,7]

       3

      /  \

    9  20

   /  \
15   7

返回锯齿形层序遍历如下:

[
[3],
[20,9],
[15,7]
]

代码:

public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode(int x) {val = x;}
}
class Solution {public List<List<Integer>> zigzagLevelOrder(TreeNode root) {List<List<Integer>> list = new LinkedList<>();if (root == null) {return list;}Stack<TreeNode> stack1 = new Stack<>();stack1.push(root);boolean postive = true;while (!stack1.isEmpty()) {Stack<TreeNode> stack2 = new Stack<>();List<Integer> subList = new LinkedList<>();while (!stack1.isEmpty()) {TreeNode current = stack1.pop();subList.add(current.val);if (postive) {if (current.left != null) {stack2.push(current.left);}if (current.right != null) {stack2.push(current.right);}} else {if (current.right != null) {stack2.push(current.right);}if (current.left != null) {stack2.push(current.left);}}}postive = !postive;stack1 = stack2;list.add(subList);}return list;}
}

2. 从中序与后序遍历序列构造二叉树

根据一棵树的中序遍历与后序遍历构造二叉树。

注意:
你可以假设树中没有重复的元素。

例如,给出

中序遍历 inorder = [9,3,15,20,7]
后序遍历 postorder = [9,15,7,20,3]

返回如下的二叉树:

     3/ \9  20/  \
15   7
import java.util.*;
public class buildTreefrominpost {public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode(int x) {val = x;}}public static class Solution {public TreeNode buildTree(int[] inorder, int[] postorder) {return helper(inorder, postorder, postorder.length - 1, 0, inorder.length - 1);}public TreeNode helper(int[] inorder, int[] postorder, int postEnd, int inStart, int inEnd) {if (inStart > inEnd) {return null;}int currentVal = postorder[postEnd];TreeNode current = new TreeNode(currentVal);int inIndex = 0;for (int i = inStart; i <= inEnd; i++) {if (inorder[i] == currentVal) {inIndex = i;}}TreeNode left = helper(inorder, postorder, postEnd - (inEnd - inIndex) - 1, inStart, inIndex - 1);TreeNode right = helper(inorder, postorder, postEnd - 1, inIndex + 1, inEnd);current.left = left;current.right = right;return current;}}public static void main(String[] args) {Solution s = new Solution();System.out.println(s.buildTree(2));}
}

3. 平衡二叉树

给定一个二叉树,判断它是否是高度平衡的二叉树。

本题中,一棵高度平衡二叉树定义为:

一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。

示例 1:

输入:root = [3,9,20,null,null,15,7]
输出:true

示例 2:

输入:root = [1,2,2,3,3,null,null,4,4]
输出:false

示例 3:

输入:root = []
输出:true

提示:

  • 树中的节点数在范围 [0, 5000] 内
  • -104 <= Node.val <= 104
class TreeNode {int val;TreeNode left;TreeNode right;TreeNode(int x) {val = x;}
}
public class Solution {public boolean isBalanced(TreeNode root) {if (root == null) {return true;}return (Math.abs(maxDepth(root.left) - maxDepth(root.right)) <= 1) && isBalanced(root.left)&& isBalanced(root.right);}public int maxDepth(TreeNode root) {if (root == null) {return 0;}return Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;}
}


🌟 每日一练刷题专栏 🌟

持续,努力奋斗做强刷题搬运工!

👍 点赞,你的认可是我坚持的动力! 

🌟 收藏,你的青睐是我努力的方向! 

评论,你的意见是我进步的财富!  

 主页:https://hannyang.blog.csdn.net/ 

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏

http://www.tj-hxxt.cn/news/88122.html

相关文章:

  • 免费中文网站模板今天国内新闻
  • 网站建设宣传册2021最近比较火的营销事件
  • 精品网站开发公司广告公司起名大全最新
  • 苏州集团网站制作开发网站关键词快速排名工具
  • 源码制作网站教程沧浪seo网站优化软件
  • 什么网站做问卷好软文发布平台与板块
  • 海东市住房和城乡建设局网站自媒体代运营
  • 网站从哪里找的百度快照优化seo
  • 赣州网站建设hyxxjs合肥网站推广公司哪家好
  • 手机网站制作方法百度云官网登录首页
  • 电影网站如何优化杭州优化外包哪里好
  • 两学一做党员夜校播放网站企业内训机构
  • 股票可以做网站推广吗百度seo关键词点击软件
  • 廊坊公司做网站app软件开发
  • 做付费视频网站好sem是什么电镜
  • 安徽 两学一做 网站软文发布软件
  • 如何做自己的网站赚钱苏州百度快照优化排名
  • 网站模板wordpress上海网络推广培训机构
  • 合肥建设网站it学校培训学校哪个好
  • 提供网站空间服务器长春seo关键词排名
  • easyui 网站设计网上怎么注册公司免费的
  • 怎么做微信网站吗如何结合搜索检索与seo推广
  • 武汉信息seo东莞seo排名优化
  • 离石网站建设公司企业网站设计方案
  • 网站黑白了合肥网站维护公司
  • 优秀网站制作定制网站建设推广
  • 网站中间内容做多大尺寸的关键词排名关键词快速排名
  • 个人网站首页设计优秀作品人力资源和社会保障部
  • 哪个网站可以接项目做代写文章价格表
  • 阿里巴巴做网站接单几率网站推广软件下载安装免费