力扣----8. 二叉树的中序遍历(JavaScript, Java实现)
时间:2020-06-10
本文章向大家介绍力扣----8. 二叉树的中序遍历(JavaScript, Java实现),主要包括力扣----8. 二叉树的中序遍历(JavaScript, Java实现)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题目描述:
给定一个二叉树,返回它的中序 遍历。
示例:
输入: [1,null,2,3]
1
\
2
/
3
输出: [1,3,2]
JavaScript实现
递归
/** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } */ /** * @param {TreeNode} root * @return {number[]} */ var inorderTraversal = function(root) { if(!root) return []; return [...inorderTraversal(root.left), root.val, ...inorderTraversal(root.right)] };
非递归
/** * Definition for a binary tree node. * function TreeNode(val) { * this.val = val; * this.left = this.right = null; * } */ /** * @param {TreeNode} root * @return {number[]} */ var inorderTraversal = function(root) { const [noVisit, visited] = [0, 1]; let res = []; const stack = [[noVisit, root]]; while(stack.length){ let [isVisited, root] = stack.pop(); if(!root) continue if(!isVisited) { stack.push([noVisit, root.right]) stack.push([visited, root]) stack.push([noVisit, root.left]) }else{ res.push(root.val) } } return res; };
Java实现:
待补充
原文地址:https://www.cnblogs.com/manru75/p/13083785.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 数组属性和方法
- Python 技术篇-用PIL库实现图片剪切、图片粘贴
- maven初步入门
- 超详细的Java弹窗样式及使用教程【JOptionPane类详细使用教程】
- Python 技术篇-用PIL库旋转图片的两种方式,改变图像尺寸
- html+css+JavaScript例题
- 加速Github的访问及下载速度
- HDFS简介
- Python 技术篇-获取requests里的二进制文本并保存为音频、图片文件
- [转]maven的pom.xml详解
- Windows下给磁盘扩容
- ZooKeeper的安装
- 仿微信的网络聊天室项目开发【完整源码讲解】
- Chrome 小技巧
- 梳理Java IO流,攻破NIO的堡垒!【技术创作101训练营】
- hadoop2.6.0-HA-QJM