[LeetCode][JavaScript]Binary Tree Inorder Traversal
2015-09-15 00:19
761 查看
Binary Tree Inorder Traversal
Given a binary tree, return the inorder traversal of its nodes' values.For example:
Given binary tree
{1,#,2,3},
1 \ 2 / 3
return
[1,3,2].
Note: Recursive solution is trivial, could you do it iteratively?
https://leetcode.com/problems/binary-tree-inorder-traversal/
树的中序遍历,把节点按照右中左的顺序塞到栈中。
因为js的数组可以放不同类型,放中间的时候放入的是val,两边放入TreeNode对象。
遇到val就直接放入结果中;遇到TreeNode节点,继续按照右中左的顺序入栈。
Binary Tree Preorder Traversal:
/article/7171023.html
Binary Tree Postorder Traversal:
/article/7171025.html
/** * 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) { var stack = [], res = [], top; if(root){ stack.push(root); } while(stack.length !== 0){ top = stack.pop(); if(typeof top === "number"){ res.push(top); }else{ if(top.right){ stack.push(top.right); } stack.push(top.val); if(top.left){ stack.push(top.left); } } } return res; };
相关文章推荐
- javascript数组的其他方法
- javascript中使用正则表达式删除前后空格的方法
- JavaScript防止网页被拷贝程序代码——SHOPXX
- js比较大小容易忽略的问题
- JavaScript函数之高阶函数
- 【JavaScript】学习笔记(对象的访问,创建;for-in循环)
- 【JavaScript】DOM之我的初步理解
- JS MD5
- jsdoc块和内联标签
- 遇到的面试题:html和javascript
- javaScript this 详解
- Javascript 中 Array的 sort()和 compare()方法
- js 加载跨域文件 权限问题
- Javascript设计模式
- js 动态dom绑定事件
- JavaScript权威设计--JavaScript对象(简要学习笔记八)
- {welcome to JS} 使用外部脚本
- 一个JSP网上书店项目
- js面向对象实现图片轮播插件
- ajax实现的二级联动_读取的是json格式数据