由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请教,Binary Tree Level Traversal有recursive的算法么?
相关主题
Binary Tree Level Order Traversal为什么老通不过rebuild a tree from inorder and level order
我这个按层打印的有什么问题
相关话题的讨论汇总
话题: level话题: arraylist话题: cur话题: integer话题: binary
进入JobHunting版参与讨论
1 (共1页)
l****i
发帖数: 2772
1
看到前面帖子里的面经,请教,Binary Tree Level Traversal有recursive的算法么?
f*******t
发帖数: 7549
2
你要的是这种?记得CC150上提到过
for (int level = 0; level <= maxLevel; level++)
printLevel(root, level);
m*****1
发帖数: 147
3
public ArrayList> levelOrder(TreeNode root) {
// Start typing your Java solution below
// DO NOT write main() function
ArrayList> array=new ArrayList>();
level(0,array,root);
return array;
}
public void level(int level,ArrayList> array,TreeNode
node){
if(node==null) return;
ArrayList list=null;
if(array.size()==level){
list=new ArrayList();
array.add(list);
}else{
list=array.get(level);
}
list.add(node.val);
level(level+1,array,node.left);
level(level+1,array,node.right);
}
d*******3
发帖数: 58
4
C++ version
void LevelTraverse(Node* root)
{
if(root == NULL)return;
vector v;
v.push_back(root);
int cur = 0;
int last =0;
while(cur < v.size())
{
last = v.size();
while(cur < last)
{
cout<data< if(v[cur]->left !=NULL)v.push_back(v[cur]->left);
if(v[cur]->right != NULL)v.push_back(v[cur]->right);
cur++;
}
cout< }
}
1 (共1页)
进入JobHunting版参与讨论
相关主题
Binary Tree Level Order Traversal为什么老通不过rebuild a tree from inorder and level order
我这个按层打印的有什么问题
相关话题的讨论汇总
话题: level话题: arraylist话题: cur话题: integer话题: binary