2026年华为软件开发面试题集.docxVIP

  • 3
  • 0
  • 约6.82千字
  • 约 21页
  • 2026-03-10 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年华为软件开发面试题集

一、编程基础题(共5题,每题10分,总分50分)

题目1(10分)

请用C++实现一个函数,判断一个字符串是否为有效的括号组合。例如,输入()[]{}应返回true,输入([)]应返回false。

答案:

cpp

includestack

includeunordered_map

includestring

boolisValid(conststd::strings){

std::stackcharst;

std::unordered_mapchar,charmapping={

{),(},

{],[},

{},{}

};

for(charc:s){

if(mapping.find(c)!=mapping.end()){

if(st.empty()||st.top()!=mapping[c]){

returnfalse;

}

st.pop();

}else{

st.push(c);

}

}

returnst.empty();

}

解析:

使用栈结构解决括号匹配问题是最常见的方法。创建一个栈,遍历字符串中的每个字符:如果是闭括号,检查栈顶元素是否是对应的开启括号;如果是开启括号,直接入栈。最后判断栈是否为空,为空则匹配成功。

题目2(10分)

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档