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

昌图网站推广软件培训班

昌图网站推广,软件培训班,建一个自己的网站,wordpress 短代码失效题目 请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20…

题目

请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。

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

    3
   / \
  9  20
    /  \
   15   7

返回其层次遍历结果:

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

提示:

  1. 节点总数 <= 1000

解题思路

1.题目要求我们实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。此题与【剑指 Offer 32 - II. 从上到下打印二叉树 II】的解题思想几乎一致,大家可以先去学习一下。

2.唯一的区别就是此题打印的顺序不太一样,我们经过分析可以发现,奇数行的元素是正着打印的,偶数行的元素是倒着打印的。所以我们需要设置一个变量 sum 来记录我们的行数,在往临时动态数组 cur 中插入元素时,就需要判断一下这个sum是奇数还是偶数,若为奇数,我们就直接add插入,若为偶数,我们就使用addFirst进行头插,这样插入的顺序就是反着的。要注意的一点是,我们需要将临时数组 cur 变为LinkedList ,因为只有LinkedList才有头插法。

代码实现

class Solution {public List<List<Integer>> levelOrder(TreeNode root) {if(root == null){return new ArrayList<>();}Queue<TreeNode> queue = new LinkedList<>();List<List<Integer>> res = new ArrayList<>();int sum = 1;queue.add(root);while(!queue.isEmpty()){int k = queue.size();LinkedList<Integer> cur = new LinkedList<>();for(int i = 0; i < k; i++ ){TreeNode t = queue.poll();if(sum % 2 == 1){cur.add(t.val);}else{cur.addFirst(t.val);}if(t.left != null) queue.add(t.left);if(t.right != null) queue.add(t.right);} sum ++;res.add(cur);}return res;}
}

测试结果

 

http://www.mnyf.cn/news/42969.html

相关文章:

  • 免费网站建设公司代理技能培训学校
  • 网站界面类型免费网站建站2773
  • 陕西中洋建设工程有限公司网站网络营销推广培训机构
  • 做网站协议书广西seo搜索引擎优化
  • 租号网站建设贴吧seo程序
  • wordpress中的邮箱seo搜狗排名点击
  • 上海知名网站开发公司免费正规的接单平台
  • 阿里云可以做几个网站91永久免费海外地域网名
  • c 做游戏的网站教学seo教程论坛
  • 福建设计招聘网站aso优化教程
  • 建设项目经济评价网站怎么制作小程序
  • 网站开发实践厦门网站seo
  • WordPress搭建主题短视频seo排名加盟
  • supercell账号注册网站什么网站都能打开的浏览器
  • 垂直网站怎么做seo基础培训
  • 美工做图片网站外链的作用
  • 企业网站模板免费版saas建站平台
  • 网站推广视频的服务方案应用商店app下载
  • 网站怎样和首页做链接地址新手怎么做网络销售
  • 网站建设简单百度网站收录查询
  • 做好网络推广seo教程视频论坛
  • 做网站还是微信小程序每日一则小新闻
  • 网站后台做链接百度地图打车客服人工电话
  • 深圳公安门户网站青岛seo关键字排名
  • 东莞市公租房申请网站-建设网seo怎么快速提高排名
  • 做外贸的怎样才能上国外网站seo排名优化服务
  • 开发公司补偿物业公司物业费协议seo要点
  • 免费外贸网站网络营销案例分析ppt
  • 利用海康威视做直播网站公司网站注册流程和费用
  • 用前端做的比较酷的网站怎么才能让百度收录网站