一共三面,2面介绍,1面hr。由于我在北京,投递岗位地点在上海,所以选的是视频面试,一天内面完。
一面
基础+两个算法题
算法题1:将排序二叉树拉直成有序的双向链表
之前做到过,直接上代码
struct TreeNode{
int val;
struct TreeNode* left;
struct TreeNode* right;
};
TreeNode* treeToList(TreeNode* root){
if(root == NULL){
return NULL;
}
if(root->left == NULL && root->right == NULL){
return root;
}
TreeNode* head = NULL;
TreeNode* lHead = NULL;
if(root->left != NULL){
lHead = treeToList(root->left);
head = lHead;
while(lHead->right != NULL){
lHead = lHead->right;
}
lHead->right = root;
root->left = lHead;
}
else{
head = root;
}
TreeNode* rHead = NULL;
if(root->right != NULL)