字符串的介绍和使用

对于字符串的话,我们已经比较熟悉了,来通过几个有意思的题加深理解一下吧。

class Solution {

public:

string addBinary(string a, string b) {

string ret;

int n=a.size()-1,m=b.size()-1;

int t=0;

while(n>=0||m>=0||t){

if(n>=0) t+=an---'0';

if(m>=0) t+=bm---'0';

ret+=(t%2)+'0';

t/=2;

}

reverse(ret.begin(),ret.end());

return ret;

}

};

class Solution {

public:

string multiply(string num1, string num2) {

int n=num1.size(),m=num2.size();

reverse(num1.begin(),num1.end());

reverse(num2.begin(),num2.end());

vector<int> ret(m+n-1);

for(int i=0;i<n;i++){

for(int j=0;j<m;j++){

reti+j+=(num1i-'0')*(num2j-'0');

}

}

string result;

int t=0,i=0;

while(i<m+n-1||t!=0){

if(i<m+n-1){

t+=reti++;

}

result+=(t%10)+'0';

t/=10;

}

while(result.size()>1&&result.back()=='0') result.pop_back();

reverse(result.begin(),result.end());

return result;

}

};

class Solution {

public:

string removeDuplicates(string s) {

string ret;

for(auto e: s){

if(ret.size()&&e==ret.back()) ret.pop_back();

else ret+=e;

}

return ret;

}

};

class Solution {

public:

bool backspaceCompare(string s, string t) {

return change(s)==change(t);

}

string change(string& s){

string ret;

for(auto e : s){

if(e!='#') ret+=e;

else if(ret.size()) ret.pop_back();

}

return ret;

}

};

相关推荐
zyl76513 小时前
FlashAttention 详解:从 GPU 硬件、普通 Attention 到分块计算与 Online Softmax
算法
爱读书的小胖17 小时前
LeetCode 122:买卖股票的最佳时机 II(C)解题分析
算法
结局无敌17 小时前
React Native for OpenHarmony 实战:三方库 react-native-modal-dialog 的鸿蒙化适配指南
深度学习·算法·react native·react.js·harmonyos
OPEN-F18 小时前
ROS2系列教程:上位机建图与导航(原理综合)
算法·机器人
weixin_3077791318 小时前
C++代码实现MATLAB中的fitrtree函数功能
开发语言·c++·算法·matlab
tomwang032218 小时前
路径优化建模、优化算法分类及工程化小结
算法·数学建模·分类
小羊没烦恼!18 小时前
Ajax与JSON的一些总结
android·java·前端·数据库·mysql·算法·okhttp
2501_9269783318 小时前
人机通信协议--人和机器之间的交互想象
人工智能·经验分享·算法·ai写作
行者全栈架构师18 小时前
【鸿蒙心迹】互动卡片全链路——把核心功能放到桌面(FormKit 实战)(HarmonyOS 7.x)
前端·算法·架构
无定义_18 小时前
10.11日常训练
算法