《LeetCode力扣练习》代码随想录——字符串(右旋字符串---Java)

《LeetCode力扣练习》代码随想录——字符串(右旋字符串—Java)



刷题思路来源于 代码随想录

55. 右旋字符串
  • 先全局反转,再部分反转
    import java.util.Scanner;
    
    public class Main{
        
        public static void main (String[] args) {
            
            Scanner in=new Scanner(System.in);
            int k=Integer.parseInt(in.nextLine());
            String s=in.nextLine();
            
            char[] chs=s.toCharArray();
            
            reverse(chs,0,chs.length-1);
            reverse(chs,0,k-1);
            reverse(chs,k,chs.length-1);
            
            System.out.println(chs);
            
        }
        
        private static void reverse(char[] chs,int left,int right){
            
            while(left<right){
                
                chs[left]^=chs[right];
                chs[right]^=chs[left];
                chs[left]^=chs[right];
                
                left++;
                right--;
                
            }
            
        }
        
    }
    

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值