[LeetCode] Binary Tree Inorder Traversal

来源:互联网 发布:怎样避免淘宝店铺复核 编辑:程序博客网 时间:2024/04/27 17:40


vector<int> inorderTraversal(TreeNode *root) {vector<TreeNode*> pre_node;vector<int> val;if (root == NULL){return val;}pre_node.push_back(root);while(!pre_node.empty()){TreeNode* cur_node = pre_node.back();TreeNode* left_leaf = NULL;TreeNode* right_leaf = NULL;if(cur_node != NULL){left_leaf = cur_node->left;right_leaf = cur_node->right;}if(left_leaf != NULL){pre_node.push_back(left_leaf);}else{val.push_back(cur_node->val);pre_node.pop_back();if(right_leaf != NULL){                pre_node.push_back(right_leaf);}else {while(!pre_node.empty()){cur_node = pre_node.back(); val.push_back(cur_node->val);pre_node.pop_back();if(cur_node->right != NULL){pre_node.push_back(cur_node->right);break;}                    }} }}return val;} 

0 0
原创粉丝点击