class Solution { public: vector<int> V; void inOrder(TreeNode* node) { if (node != NULL) { if (node->left != NULL) { inOrder(node->left); } V.push_back(node->val); if (node->right != NULL) { inOrder(node->right); } } } vector<int> inorderTraversal(TreeNode* root) { inOrder(root); return V; } };
二叉树的中序遍历。
补充python版本实现:
1 class Solution: 2 def __init__(self): 3 self.lists = [] 4 5 def inOrder(self,root): 6 if root != None: 7 if root.left != None: 8 self.inorderTraversal(root.left) 9 self.lists.append(root.val) 10 if root.right != None: 11 self.inorderTraversal(root.right) 12 13 14 def inorderTraversal(self, root: 'TreeNode') -> 'List[int]': 15 self.inOrder(root) 16 return self.lists