本文主要是介绍Binary Tree Inorder Traversal问题及解法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述:
Given a binary tree, return the inorder traversal of its nodes' values.
示例:
Given binary tree [1,null,2,3]
,
1\2/3
return [1,3,2]
.
利用二叉树的先序遍历,先遍历左子树,后父节点,最后遍历右子树。
过程详见代码:
/*** 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;inorder(res, root);return res;}void inorder(vector<int>& res, TreeNode* root){if (root == NULL) return;inorder(res, root->left);res.push_back(root->val);inorder(res, root->right);}
};
这篇关于Binary Tree Inorder Traversal问题及解法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!