手写代码高频考点(一)
1、单词逆序反转
void reverseWords(string &str){
if (str.length() == 0){
return;
}
stack<string> stack;
bool isWord = false;
string tempStr;
for (int i = 0; i < str.length(); i++){
//开始截取单词
if (str[i] != ' ' && isWord == false){
isWord = true;
}
//截取单词结束
if (str[i] == ' ' && isWord == true){
isWord = false;
stack.push(tempStr);
tempStr.clear();
}
//截取单词
if (true == isWord){
tempStr += str[i];
}
}
//截取最后一个单词
if (str[str.length() - 1] != ' '){
isWord = false;
stack.push(tempStr);
tempStr.clear();
}
//调整方向
str.clear();
while(!stack.empty()){
str += stack.top();
str += ' ';
stack.pop();
}
}
2、冒泡排序
void buddingSort(vector<int> &arr){
for (int i = 0; i < arr.size(); i++){
for (int j = 0;
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式软件面试笔记 文章被收录于专栏
该笔记涵盖嵌入式软件工程师技术面试中的知识点,归纳总结为:C/C++、操作系统、计算机网络、数据结构与算法、linux常用命令等章节。