代码拉取完成,页面将自动刷新
/*
* @lc app=leetcode.cn id=94 lang=javascript
*
* [94] 二叉树的中序遍历
*/
// @lc code=start
/**
* 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 arr = [];
// if (!root) return [];
// if (root.left) {
// arr = arr.concat(inorderTraversal(root.left))
// }
// arr.push(root.val)
// if (root.right) {
// arr = arr.concat(inorderTraversal(root.right))
// }
// return arr
// 迭代
var res = [];
// 定义栈
var s = [];
var p = root;
/*
对任一节点p
若 左孩子 不为空,p入栈并把左孩子置为当前p,以此类推
若 左孩子 为空,取栈顶元素出栈,当问该节点,然后置 右孩子 为p
直到p为null且栈为空时结束遍历
*/
while (p || s.length) {
while (p) {
s.push(p);
p = p.left;
}
p = s.pop();
res.push(p.val);
p = p.right;
}
return res;
};
// @lc code=end
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。