Leetcode 94. Binary Tree Inorder Traversal 发表于 2019-10-23 | 分类于 Online Judge https://leetcode.com/problems/binary-tree-inorder-traversal/ 二叉树的中序遍历 递归:1234567891011121314151617181920212223/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: vector<int> res; vector<int> inorderTraversal(TreeNode* root) { if(root != NULL){ inorderTraversal(root->left); res.push_back(root->val); inorderTraversal(root->right); } return res; }}; 非递归:123456789101112131415161718192021222324252627282930/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: vector<int> inorderTraversal(TreeNode* root) { vector<int> res; stack<TreeNode*> tempStack; while(!tempStack.empty() || root != NULL){ if(root != NULL){ tempStack.push(root); root = root->left; } else{ root = tempStack.top(); res.push_back(tempStack.top()->val); tempStack.pop(); root = root->right; } } return res; }}; 本文作者: Moon 本文链接: 2019/10/23/Leetcode-94/ 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!