1. 先序遍历
LeetCode: https://leetcode-cn.com/problems/binary-tree-preorder-traversal/
顺序: 根、左、右
思路:
实现:
var preorderTraversal = function(root) {
// 递归实现:
// let res = [];
// const preOrder = function(root) {
// if(!root) {
// return;
// } // 一定要写在递归函数内部!
// res.push(root.val);
// preOrder(root.left);
// preOrder(root.right);
// };
// preOrder(root);
// return res;
// 迭代实现:
let res = [];
if(!root) {
return res;
}
let stack = [];
let cur = root;
do {
if(cur) {
stack.push(cur);
res.push(cur.val);
cur