华为技术面试经验及答案详解.docxVIP

  • 0
  • 0
  • 约8.31千字
  • 约 23页
  • 2026-03-23 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年华为技术面试经验及答案详解

一、编程题(共3题,每题15分,总分45分)

1.题目:

编写一个函数,实现字符串的快速反转,要求原地修改字符串,不使用额外的内存空间。请用C++或Java实现。

答案与解析:

C++实现:

cpp

includeiostream

includestring

usingnamespacestd;

voidreverseString(strings){

intleft=0,right=s.size()-1;

while(leftright){

swap(s[left],s[right]);

left++;

right--;

}

}

intmain(){

strings=Hello,Huawei!;

reverseString(s);

coutsendl;//输出:!uiaW,olleH

return0;

}

解析:

-使用双指针法,左指针从头部开始,右指针从尾部开始,交换两个指针所指向的字符,然后左右指针向中间移动,直到相遇。

-时间复杂度:O(n),空间复杂度:O(1)。

-注意:C++中字符串是常量类型,需要使用引用传递才能修改字符串内容。

Java实现:

java

publicclassReverseString

文档评论(0)

1亿VIP精品文档

相关文档