题解 | #按之字形顺序打印二叉树#
按之字形顺序打印二叉树
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: vector<vector > Print(TreeNode pRoot) { vector<vector> res ; if(!pRoot) return res ; queue<TreeNode> q; q.push(pRoot) ; int level = 0 ; while(!q.empty()) { vector arr ; int size = q.size() ; for(int i = 0 ;i < size ; i++) { TreeNode tmp = q.front() ; q.pop() ; if(!tmp) continue ; q.push(tmp ->left) ; q.push(tmp -> right) ; if(level %2 == 0) arr.push_back(tmp ->val); else arr.insert(arr.begin(), tmp -> val) ; } level++ ; if( !arr.empty()) res.push_back(arr) ; } return res ; }
};