java leetcode TreeNode类的实现
时间:2019-11-27
本文章向大家介绍java leetcode TreeNode类的实现,主要包括java leetcode TreeNode类的实现使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1 public class TreeNode { 2 public int val; 3 public TreeNode left; 4 public TreeNode right; 5 private TreeNode(int x) { val = x; } 6 7 public static TreeNode makeTree(Integer[] trees) { 8 TreeNode[] treeNodes = new TreeNode[trees.length + 1]; 9 for (int i = 1; i < treeNodes.length; i++) { 10 if (trees[i - 1] == null) { 11 treeNodes[i] = null; 12 } else { 13 treeNodes[i] = new TreeNode(trees[i - 1]); 14 } 15 } 16 17 TreeNode treeNode = null; 18 for (int i = 1; i <= treeNodes.length / 2; i++) { 19 treeNode = treeNodes[i]; 20 if (treeNode == null) continue; 21 treeNode.left = treeNodes[2 * i]; 22 if (2 * i + 1 < treeNodes.length) 23 treeNode.right = treeNodes[2 * i + 1]; 24 } 25 return treeNodes[1]; 26 } 27 28 //中序遍历,检查树的创建是否正确 29 public static void middleTraverse(TreeNode treeNode) { 30 if (treeNode != null) { 31 System.out.println(treeNode.val); 32 middleTraverse(treeNode.left); 33 middleTraverse(treeNode.right); 34 } else { 35 System.out.println("null"); 36 } 37 } 38 }
调用makeTree将数组转换为一棵树
1 Integer[] integers = {1, 2, null, 8}; 2 TreeNode treeNode = TreeNode.makeTree(integers); 3 //遍历打印 4 TreeNode.middleTraverse(treeNode);
原文地址:https://www.cnblogs.com/grein/p/11943816.html
- SQL Server 使用全文索引进行页面搜索
- 2764: [JLOI2011]基因补全
- 1000: A+B Problem(NetWork Flow)
- 博弈论进阶之Multi-SG
- 2929: [Poi1999]洞穴攀行
- SQL Server 执行计划缓存
- 1081: [SCOI2005]超级格雷码
- 1715: [Usaco2006 Dec]Wormholes 虫洞
- 博弈论入门之斐波那契博弈
- 3018: [Usaco2012 Nov]Distant Pastures
- 1755: [Usaco2005 qua]Bank Interest
- SQL Server 重新组织生成索引
- 3386/1752: [Usaco2004 Nov]Til the Cows Come Home 带奶牛回家
- 洛谷P2197 nim游戏(Nim游戏)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Codeforces Round #597 (Div. 2) D - Shichikuji and Power Grid
- 服务器端渲染与Nuxt.js
- Maven需改仓库地址为阿里云&修改本地仓库地址
- python爬虫笔记2之去哪儿网
- 分析比较各种软件构建环境
- python爬虫笔记2
- laravel中如何执行请求
- PEPE规范及解释型语言
- multer 基础教程(英文版)
- Pandas | 16 聚合
- Java IO编程——字符流与字节流
- BBS小项目疑问点及解决办法-B篇(文件阅读器(onload事件及attr方法)、on和click区别、each方法、ajax展示错误信息、static静态文件)
- 诊断4 -网络排错步骤
- align-conten和align-items的区别
- 第四次实验报告:使用Packet Tracer理解RIP路由协议