文章目录
- 一、题目
- 二、题解
 
一、题目
Given the root of a binary tree, return the preorder traversal of its nodes’ values.
Example 1:
Input: root = [1,null,2,3]
 Output: [1,2,3]
 Example 2:
Input: root = []
 Output: []
 Example 3:
Input: root = [1]
 Output: [1]
Constraints:
The number of nodes in the tree is in the range [0, 100].
 -100 <= Node.val <= 100
Follow up: Recursive solution is trivial, could you do it iteratively?
二、题解
/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:void preOrder(TreeNode* root,vector<int>& res){if(root == nullptr) return;res.push_back(root->val);preOrder(root->left,res);preOrder(root->right,res);}vector<int> preorderTraversal(TreeNode* root) {vector<int> res;preOrder(root,res);return res;}
};