题解 | #按之字形顺序打印二叉树#
按之字形顺序打印二叉树
http://www.nowcoder.com/practice/91b69814117f4e8097390d107d2efbe0
/* struct TreeNode { int val; struct TreeNode left; struct TreeNode right; TreeNode(int x) : val(x), left(NULL), right(NULL) { } }; / class Solution { public: queue<TreeNode> qu; vector<vector > VV; int j = 1; vector V; int quSize ; vector<vector > Print(TreeNode pRoot) { // TreeNode cur = pRoot; if(!pRoot) return VV; qu.push(pRoot); for(; !qu.empty();) { quSize = qu.size(); for(;(quSize | 0); --quSize) { pRoot = qu.front(); V.push_back(pRoot->val); qu.pop(); if(pRoot->left) qu.push(pRoot->left); if(pRoot->right) qu.push(pRoot->right); } if(!(j&1)) reverse(V.begin(),V.end()); VV.push_back(V); ++j; V.erase(V.begin(),V.end()); }
return VV;
}
};