- 0
- 0
- 约6.89千字
- 约 24页
- 2026-03-25 发布于福建
- 举报
第PAGE页共NUMPAGES页
2026年华为软件开发面试全攻略与题目解析
一、编程基础(5题,每题10分,共50分)
考察内容:数据结构、算法、编程语言基础(C/C++/Java)
题目1:
题目:
编写一个函数,实现字符串的翻转,不使用额外的内存空间。
示例:输入`s=abcdef`,输出`fedcba`。
要求:
1.采用原地翻转方法。
2.考虑空字符串和单字符字符串的情况。
答案:
cpp
voidreverseString(chars){
if(s==nullptr)return;
intleft=0,right=strlen(s)-1;
while(leftright){
swap(s[left],s[right]);
left++;
right--;
}
}
解析:
1.时间复杂度:O(n),只需遍历字符串一次。
2.空间复杂度:O(1),仅使用固定数量的额外变量。
3.关键点:
-使用双指针法从两端向中间交换字符。
-处理边界条件(如空指针、单字符)。
题目2:
题目:
实现一个函数,判断一个整数是否是回文数(正序和倒序相同)。
示例:输入`121`,输出`true`;输入`-121`,输出`false`。
要求:
1.不能将整数转为字符串处理。
2.考虑负数和零的情况
原创力文档

文档评论(0)