LeetCode java day14
┭┮﹏┭┮
果然牵扯到字符串就直接汗流浃背了
给定两个字符串, s
和 goal
。如果在若干次旋转操作之后,s
能变成 goal
,那么返回 true
。
s
的 旋转操作 就是将 s
最左边的字符移动到最右边。
- 例如, 若
s = 'abcde'
,在旋转一次之后结果就是'bcdea'
。
示例 1:
输入: s = "abcde", goal = "cdeab"
输出: true
示例 2:
输入: s = "abcde", goal = "abced"
输出: false
class Solution {
static public boolean rotateString(String s, String goal) {
return s.length()==goal.length()&&(s+s).contains(goal);
}
}
一开始还在一个个把首位元素移动到末尾然后一次次比较。
艹
然后条件当然是移动len-1次结束,靠,那不就是复制一份到末尾然后看看有没有包含就ok了
某公司门禁密码使用动态口令技术。初始密码为字符串 password
,密码更新均遵循以下步骤:
- 设定一个正整数目标值
target
- 将
password
前target
个字符按原顺序移动至字符串末尾
请返回更新后的密码字符串。
示例 1:
输入: password = "s3cur1tyC0d3", target = 4
输出: "r1tyC0d3s3cu"
示例 2:
输入: password = "lrloseumgh", target = 6
输出: "umghlrlose"
class Solution {
public String dynamicPassword(String password, int target) {
StringBuffer temp=new StringBuffer();
for(int i=target;i<password.length();i++){
temp.append(password.charAt(i));
}
for(int i=0;i<target;i++){
temp.append(password.charAt(i));
}
return String.valueOf(temp);
}
}