请实现一个函数,把字符串 s
中的每个空格替换成"%20"。
解:用最简单的替换的方法,没有使用函数。
定义rep=“%20”和一个新的存储变量newone
代码实现如下:
class Solution {
public:
string replaceSpace(string s) {
string newone,rep="%20";
for(int i=0;i<s.size();i++)
{
if(s[i]==' ')
newone+=rep;
else
newone+=s[i];
}
return newone;
}
};
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
解:先输入的节点最后才输出,符合栈中的“先进后出”的思想。
定义stack的简单代码:
stack<int> sta;
入栈:sta.push(x);
出栈:sta.pop();
判断栈的大小: sta.size();
判断栈是否为空:sta.empty();
代码实现如下:
class Solution {
public:
vector<int> reversePrint(ListNode* head) {
std::stack<int> sta;
std::vector<int> vec;
ListNode* Note = head;
while(Note != nullptr)
{
sta.push(Note->val);//压入栈中
Note = Note->next;
}
while(!sta.empty())
{
vec.push_back(sta.top());//弹出
sta.pop();
}
return vec;
}
};