其他平台不知道,leetcode上面刷题所有东西都要写在函数体里面,
前序遍历,这个是对的
var preorderTraversal = function(root) {
let number = [];
var preOrderTraversalNode = function(root){
if(root){
number.push(root.val)
preOrderTraversalNode(root.left)
preOrderTraversalNode(root.right)
}
}
preOrderTraversalNode(root)
return number;
};
这个是错的
var number = []
var preorderTraversal = function(root) {
if(!root){
return [];
}
if(root){
number.push(root.val)
preorderTraversal(root.left);
preorderTraversal(root.right);
}
return number
};
中序遍历
var inorderTraversal = function(root) {
let number = [];
var inOrderTraversalNode = function(root){
if(root){
inOrderTraversalNode(root.left);
number.push(root.val);
inOrderTraversalNode(root.right)
}
}
inOrderTraversalNode(root);
return number
};
后续遍历
var postorderTraversal = function(root) {
let number = [];
var postOrderTraversalNode = function(root){
if(root){
postOrderTraversalNode(root.left)
postOrderTraversalNode(root.right)
number.push(root.val)
}
}
postOrderTraversalNode(root)
return number;
};