您的位置:首页 > 其它

小米2014校园招聘笔试题2013.10.19杭州

2013-10-19 22:33 176 查看
2个小时,三个Coding题目:

1、实现Node* Connect(Node* root)函数,将二叉树结点的sibling指针链接到同层右边的结点,如下图红色部分:

struct Node{

Node* left;

Node* right;

Node* sibling;

int data;

};

1--NULL

/ \

2---3--NULL

/ \ /

4--5--6--NULL

2、打印一个N*N的蛇形矩阵,如N=4时:

1 2 6 7

3 5 8 13

4 9 12 14

10 11 15 16

分别给出空间复杂度为O(N*N)和0(1)的coding实现

3、合并N个有序链表

其他城市笔试题

1、奇偶排序

在一个N个整数数组里面,有多个奇数和偶数,设计一个排序算法,令所有的奇数都在偶数的左边

2、叉数降维

设计一个算法,把一个排序二叉树,转化成一个排序的双向链表,要求不能创建任何新的节点,只调整指针指向

3 、四则运算

现有一四则运算表达式,仅包含+-*/()和0~9数字,请设计一个算法,计算该表达式的值,其中+-只能作为运算符出现,不作为正负号出现在表达式中

请完成calc的代码实现

已有字符串和数字的转换方法(Str2num,num2Str)可直接调用,无须实现

C++:

float str2num(char[] str){....}

char[] num2str(float num){}

float calc(char[] exp){

''''''''

}

例如输入“1+2*(3-4)”

输出-1

设计测试用例测试Calc函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: