LeetCode 144
https://leetcode.cn/problems/binary-tree-preorder-traversal/description/
难度:简单
递归求二叉树的前序遍历。
时间复杂度:O(n),其中 n 是二叉树的节点数。每一个节点恰好被遍历一次。
空间复杂度:O(n),为递归过程中栈的开销,平均情况下为 O(logn),最坏情况下树呈现链状,为 O(n)。
class Solution {
public:
vector<int> preorderTraversal(TreeNode* root) {
vector<int> ans;
auto dfs = [&](auto &&dfs, TreeNode* node) {
if (node == nullptr) {
return;
}
ans.push_back(node->val);
dfs(dfs, node->left);
dfs(dfs, node->right);
};
dfs(dfs, root);
return ans;
}
};