给你二叉树的根节点 root
,返回它节点值的 前序 遍历。
c语言解法
- void preorder(struct TreeNode* root, int* res, int* resSize) {
- if (root == NULL) {
- return;
- }
- res[(*resSize)++] = root->val;
- preorder(root->left, res, resSize);
- preorder(root->right, res, resSize);
- }
-
- int* preorderTraversal(struct TreeNode* root, int* returnSize) {
- int* res = malloc(sizeof(int) * 2000);
- *returnSize = 0;
- preorder(root, res, returnSize);
- return res;
- }
本题要输出二叉树的前序遍历,可以利用递归先返回根节点,不断列举二叉树的左子树,再列举右子树即可解决问题
本题考察二叉树的前序遍历问题,利用递归可以解决