LeetCode java day14

LeetCode java day14


┭┮﹏┭┮

果然牵扯到字符串就直接汗流浃背了

796. 旋转字符串

给定两个字符串, sgoal。如果在若干次旋转操作之后,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了


LCR 182. 动态口令

某公司门禁密码使用动态口令技术。初始密码为字符串 password,密码更新均遵循以下步骤:

  • 设定一个正整数目标值 target
  • passwordtarget 个字符按原顺序移动至字符串末尾

请返回更新后的密码字符串。

示例 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);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值