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
- 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 数组属性和方法
- 传智播客OA项目学习--阶段二(系统管理模块)
- main函数中的argc和argv到底是个啥?
- 传智播客OA项目学习--阶段一(2、框架整合)
- 微信XML消息model定义之微信公众平台(一)
- 自动返回笑话接口调用之微信公众平台(二)
- 「实战」 缘分使我们(骗子)相遇
- json-lib简单使用之微信公众平台(三)
- 小生归一(六)xss特殊绕过
- 最新绕过D盾注入方法分享(学姿势)
- 利用C#编写的绕过360安全卫士添加系统用户
- 小生归一(七)sprintf字符串格式化漏洞
- FastAdmin后台GetShell
- scRNA-seq Clustering
- Dizzy Blog
- LeetCode 392. 判断子序列