给定一个二叉树的根节点 root ,返回它的 中序 遍历。
示例 1:
输入:root = [1,null,2,3]
输出:[1,3,2]
示例 2:
输入:root = []
输出:[]
示例 3:
输入:root = [1]
输出:[1]
示例 4:
输入:root = [1,2]
输出:[2,1]
示例 5:
输入:root = [1,null,2]
输出:[1,2]
提示:
- 树中节点数目在范围 [0, 100] 内
- -100 <= Node.val <= 100
解题思路
1.定义一个数组来存放遍历过的元素 2.定义一个左根右的遍历函数,递归调用即可。在遍历过程中将节点的值push进数组中。
代码
var inorderTraversal = function(root) {
let result = []
var inorderTraversal = (node) => {
if(node) {
inorderTraversal(node.left)
result.push(node.val)
inorderTraversal(node.right)
}
}
inorderTraversal(root)
return result
};
|