网站运营和推广,个人网站建设论文绪论,什么是网站ip地址,网站建设合同黑客攻击链接#xff1a;
2337. 移动片段得到字符串
题意#xff1a;
L可以和左边的_交换#xff0c;R可以和右边的_交换#xff0c;求判断A是否能通过交换#xff08;不限次数#xff09;变成B
解#xff1a;
观察可知#xff0c;如果存在RL,一定不能交换出LR#xff0c…链接
2337. 移动片段得到字符串
题意
L可以和左边的_交换R可以和右边的_交换求判断A是否能通过交换不限次数变成B
解
观察可知如果存在RL,一定不能交换出LR所以按序遍历A和B时除去_遍历到的字符需要相同
除外判断A的L位置是否大于等于B的LA的L通过左移变成B的LA的R位置是否小于等于B的R即可
双指针解题
实际代码
#includeiostream
using namespace std;
bool canChange(string start, string target)
{int index0,mb0,lgstart.size();while(true){while(mblg target[mb]_) mb;while(indexlg start[index]_) index;if(indexmb indexlg) break;if(target[mb]!start[index]) return false;else{if(target[mb]R){if(mbindex){mb;index;}else return false;}else{if(mbindex){mb;index;}else return false;}}}return true;
}
int main()
{string start,target;cinstarttarget;bool anscanChange(start,target);coutboolalphaansendl;return 0;
}限制
n start.length target.length1 n 105start 和 target 由字符 L、R 和 _ 组成