代码先锋网 代码片段及技术文章聚合

1528. Shuffle String

技术标签: leetcode刷题笔记  java  leetcode  字符串

刷题笔记

1528. Shuffle String

Given a string s and an integer array indices of the same length.

The string s will be shuffled such that the character at the ith position moves to indices[i] in the shuffled string.

Return the shuffled string.
示例

思路

  1. 首先这个问题将涉及三个数据类型,数组,字符和字符串。
  2. 对字符串进行重排,要首先创建一个字符数组来临时装重排的字符。
  3. 利用循环取出字符和对应的标签,利用标签来确定将字符放在字符数组的什么位置,利用string的charAt方法取出当前索引下的字符并放入前一句中所确定的位置中。
  4. 创建新字符串并将重排的字符数组传入,返回新字符串。

代码实现

class Solution {
    public String restoreString(String s, int[] indices) {
        char[] newChar = new char[indices.length];
        for (int i = 0; i < indices.length; i++) {
            newChar[indices[i]] = s.charAt(i);
        }
        return new String(newChar);
    }
}

几个实现中的要点:

  1. 首先遍历思想是基础。
  2. 字符串的重排要利用到字符数组。
  3. 标签的转换思想。
  4. String.charAt()方法:返回指定索引的 char价值。指数范围从 0到 length() - 1。
版权声明:本文为weixin_43914325原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43914325/article/details/116072856

智能推荐

LeetCode|1528.重新排列字符串

LeetCode习题答案汇总 题目: 给你一个字符串 s 和一个 长度相同 的整数数组 indices 。 请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。 返回重新排列后的字符串。 示例 1: 输入:s = “codeleet”, indices = [4,5,6,7,0,2,1,3] 输出:“leetcode&rdq...

简单题--1528. 重新排列字符串

力扣刷题 给你一个字符串 s 和一个 长度相同 的整数数组 indices 。 请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。 返回重新排列后的字符串。 示例 1: 输入:s = “codeleet”, indices = [4,5,6,7,0,2,1,3] 输出:“leetcode” 解释:如图所示,&l...

LeetCode 1528. 重新排列字符串 JAVA

给你一个字符串 s 和一个 长度相同 的整数数组 indices 。 请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。 返回重新排列后的字符串。...

LeetCode——1528. 重新排列字符串

题目描述: 给你一个字符串 s 和一个 长度相同 的整数数组 indices 。请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。返回重新排列后的字符串。 示例 1: 输入:s = “codeleet”, indices = [4,5,6,7,0,2,1,3] 输出:“leetcode” 解释:如图所示,&ld...

猜你喜欢

1528. 重新排列字符串

1528. 重新排列字符串 重新排列字符串 给你一个字符串 s 和一个 长度相同 的整数数组 indices 。 请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。 返回重新排列后的字符串。 示例 1: 输入:s = “codeleet”, indices = [4,5,6,7,0,2,1,3] 输出:“leetcode&...

1528. 重新排列字符串

题目 给你一个字符串 s 和一个 长度相同 的整数数组 indices 。 请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。 返回重新排列后的字符串。 示例 1: 解题思路 1.设置一个空的string类型的返回值 2.分别将字符赋值给每个对应下标 3.返回结果 代码...

1528. 重新排列字符串

给你一个字符串 s 和一个 长度相同 的整数数组 indices 。 请你重新排列字符串 s ,其中第 i 个字符需要移动到 indices[i] 指示的位置。 返回重新排列后的字符串。   示例 1: 示例 2: 示例 3: 示例 4: 示例 5:   提示...

任意两种进制的转换

思路:先将任意进制数转换为十进制,再将十进制数转换为任意进制数 一般,任意进制转换为十进制数时,“按权位展开”即可;而十进制数转换为任意进制数时,使用“除该进制取余,逆序排列”即可。 任意进制数转换为十进制数 D=Xn-1*Bn-1+ Xn-2*Bn-2+Xn-3*Bn-3+……. + X0*B0 如:(1101)2=1*...

反射机制详解一

 1反射机制是什么 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 在面向对象的世界里,万事万物皆对象.在java语言里,静态的成员,普通数据类型是不是对象呢? 类又是谁的对象呢? 首先类是对象,类是java.lang.Class类的实例对象....