首页 > 代码库 > 剑指offer61 按之字形顺序打印二叉树
剑指offer61 按之字形顺序打印二叉树
另一种自己写的解法
class Solution { public: vector<vector<int> > Print(TreeNode* pRoot) { vector<vector<int> > result; vector<int> res; if(pRoot == NULL) return result; stack<TreeNode* > sta1; stack<TreeNode* > sta2; int next = 2; sta1.push(pRoot); while(sta1.size() != 0 || sta2.size() != 0){ if(next % 2 == 0){ if(sta1.empty()){ next++; result.push_back(res); res.clear(); } else{ TreeNode* Node = sta1.top(); res.push_back(Node->val); if(Node->left != NULL) sta2.push(Node->left); if(Node->right != NULL) sta2.push(Node->right); sta1.pop(); } } else{ if(sta2.empty()){ next++; result.push_back(res); res.clear(); } else{ TreeNode* Node = sta2.top(); res.push_back(Node->val); if(Node->right != NULL) sta1.push(Node->right); if(Node->left != NULL) sta1.push(Node->left); sta2.pop(); } } } result.push_back(res); return result; } };
剑指offer61 按之字形顺序打印二叉树
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。