部门:深圳华为核心网
1. 121 1221 12321 123454321 不转换为字符 判断一个整形数据为对称。
2. 不使用内存拷贝函数,删除MAX_LENGTH = 100的字符串中i个字符后的j个字符
3. 写一个函数,判断左右括号是否匹配。
第一题 代码:数字放到一个数组中 从头到尾比较一次
bool checknumber(unsigned int number)
{
unsigned int array[32] = {0};
//查找首位置对称数字
unsigned int first = 0;
unsigned int num = number;
while(num)
{
array[first] = num%10;
num = num/10;
first++;
}
for(unsigned int i = 1; i <= first; i++)
{
if(array[i - 1] != array[first - i])
{
return false;
}
}
return true;
}
第二题 毛泽东估计知道
第三题 代码 使用两个栈
unsigned int check_str(char* str)
{
assert(str);
char ch;
unsigned int pos= 0;
stack<char> stack_char;
while (*str)
{
ch = *str++;
pos++;
if(ch == '(')
{
stack_char.push(ch);
}
else if(ch == ')')
{
if(stack_char.empty())
{
return pos;
}
else
{
stack_char.pop();
}
}
}
if(!stack_char.empty())
{
return pos;
}
else
{
return 0;
}
}