# 94_Binary_Tree_Inorder_Traversal ###### tags: `leetcode` ## Problem Statement Given the root of a binary tree, return the inorder traversal of its nodes' values. - Example 1: > Input: root = [1,null,2,3] Output: [1,3,2] - Example 2: > Input: root = [] Output: [] - Example 3: > Input: root = [1] Output: [1] - Example 4: > Input: root = [1,2] Output: [2,1] - Example 5: > Input: root = [1,null,2] Output: [1,2] - 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? ## Solution - This is just like the former question, but with different traversal method. :::info [https://hackmd.io/@eesss34690/rkUnRSiXu](https://) ::: - this needs to traverse to the left, then add the value into the vector, lastly add the right one. ```cpp= void treversal(TreeNode* a){ if (a->left){ treversal(a->left); } ans.push_back(a->val); if (a->right){ treversal(a->right); } } ``` ```cpp= vector<int> ans; vector<int> inorderTraversal(TreeNode* root) { if (root) treversal(root); return ans; } ```