刚才面了个contractor
面了道简单的,print binary tree level by level
为节省时间,直接让他去collabedit,我干我的工作
class node{
private int data;
private Node left;
private Node right;
private node parent;
private int level;
public LinkedList listofNode;
public int getData()
{
return this.data;
}
public node getLeftNode()
{
return this.left;
}
public node getRightNode()
{
return this.right;
}
public printTree(Node node )
{
system.out.println(this.node.getData());
if(node.getLeftNode()!=null)
this.printTree(node.getLeftNode());
}
}
}
写了半个小时之后,突然给我仍上来这么一段
void printLevelOrder(BinaryTree *root) {
if (!root) return;
queue currentLevel, nextLevel;
currentLevel.push(root);
while (!currentLevel.empty()) {
BinaryTree *currNode = currentLevel.front();
currentLevel.pop();
if (currNode) {
cout << currNode->data << " ";
nextLevel.push(currNode->left);
nextLevel.push(currNode->right);
}
if (currentLevel.empty()) {
cout << endl;
swap(currentLevel, nextLevel);
}
}
}
我问他你定义的parent node用了吗?
你熟悉的语言是什么? 既然熟悉JAVA为什么来一段C/C++
我问他还有什么问题.然后告诉他我会把feeback告诉recruiter
he said "I think I know"