본문 바로가기

풀어본 Algorithm 문제 정리

[OJ.leetcode] Binary Tree Inorder Traversal

https://oj.leetcode.com/problems/binary-tree-inorder-traversal/


Given a binary tree, return the inorder traversal of its nodes' values.

For example:
Given binary tree {1,#,2,3},

   1
    \
     2
    /
   3

return [1,3,2].

Note: Recursive solution is trivial, could you do it iteratively?


/**

 * Definition for binary tree

 * struct TreeNode {

 *     int val;

 *     TreeNode *left;

 *     TreeNode *right;

 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}

 * };

 */

class Solution {

public:

    vector<int> result;

    

    vector<int> inorderTraversal(TreeNode *root) {

        if( root != NULL ) {

            inorderTraversal(root->left);

            result.push_back(root->val);

            inorderTraversal(root->right);

            

            return result;

        } else {

            return result;

        }

    }

};