Leetcode LCR182:动态口令

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

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

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

示例 1:

输入: password = "s3cur1tyC0d3", target = 4
输出: "r1tyC0d3s3cu"

示例 2:

输入: password = "lrloseumgh", target = 6
输出: "umghlrlose"

解题思路:

1.先翻转target前面的字符;

2.再翻转target后面的字符;

3.最后将整个字符串进行翻转。
public static String dynamicPassword(String password, int target) {
        int left=0,right=password.length()-1;

        //1.先翻转target前面的
        password=reverseString(password,0,target-1);

        //2.再翻转target后面的
        password=reverseString(password,target,right);

        //3.最后将整个字符串进行翻转
        password=reverseString(password,left,right);

        return password;
    }

    //翻转区域内字符串
    public static String reverseString(String s,int left,int right){

        StringBuilder str=new StringBuilder(s);
        char a;
        while (left

你可能感兴趣的:(服务器,运维)