binary-tree-preorder-traversal 迭代法求解二叉树前序遍历
Posted john1015
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了binary-tree-preorder-traversal 迭代法求解二叉树前序遍历相关的知识,希望对你有一定的参考价值。
题目:
求给定的二叉树的前序遍历。
例如:
给定的二叉树为{1,#,2,3},
1 2 / 3
返回:[1,2,3]
代码:
1 /** 2 * struct TreeNode { 3 * int val; 4 * struct TreeNode *left; 5 * struct TreeNode *right; 6 * }; 7 */ 8 9 class Solution { 10 public: 11 /** 12 * 13 * @param root TreeNode类 14 * @return int整型vector 15 */ 16 vector<int> preorderTraversal(TreeNode* root) { 17 vector<int> list; 18 stack<TreeNode*> st; 19 if(root == NULL) 20 return list; 21 st.push(root); 22 while( !st.empty()) { 23 TreeNode* temp = st.top(); 24 st.pop(); 25 list.push_back(temp->val); 26 if(temp->right != NULL) 27 st.push(temp->right); 28 if(temp->left != NULL) 29 st.push(temp->left); 30 } 31 return list; 32 } 33 };
我的笔记:
利用数据结构栈来求解即可。
以上是关于binary-tree-preorder-traversal 迭代法求解二叉树前序遍历的主要内容,如果未能解决你的问题,请参考以下文章