【力扣1844】将所有数字用字符替换

在这里插入图片描述

  • 专栏内容:力扣刷题
  • ⛪个人主页:子夜的星的主页
  • 座右铭:前路未远,步履不停

目录

  • 一、题目描述
  • 二、题目分析


一、题目描述

给你一个下标从 0 开始的字符串 s ,它的偶数下标处为小写英文字母,奇数下标处为数字。

定义一个函数 shift(c, x) ,其中 c 是一个字符且 x 是一个数字,函数返回字母表中 c 后面第 x 个字符。

比方说,shift('a', 5) = 'f'shift('x', 0) = 'x'
对于每个奇数下标 i ,你需要将数字 s[i]shift(s[i-1], s[i]) 替换。

请你替换所有数字以后,将字符串 s 返回。题目保证 shift(s[i-1], s[i]) 不会超过'z'

【力扣1844】将所有数字用字符替换_第1张图片

二、题目分析

toCharArray() 是Java中String类的一个方法,它用于将字符串转换为字符数组。这个方法返回一个新的字符数组,其中包含了字符串中的每个字符,顺序与它们在字符串中的出现顺序相同。

知道了这个,直接循环遍历就行了。

class Solution {
    public String replaceDigits(String s) {
        char[] ans = s.toCharArray();
        for(int i = 1; i < ans.length; i += 2) 
            ans[i] = (char)(ans[i] - '0' + ans[i - 1]);
        return new String(ans);
    }
}

你可能感兴趣的:(#,力扣笔记,leetcode,算法)