Python:按索引列表重排字符串的实现与原理
```python def rearrange_string(s: str, indices: list[int]) -> str: """ 根据给定的索引列表重新排列字符串 参数: s: 原始字符串 indices: 新位置的索引列表 返回: 重新排列后的字符串 """ # 创建一个与字符串长度相同的列表来存储结果 res = [''] * len(s) for i, char in enumerate(s): res[indices[i]] = char return ''.join(res) # 示例用法 s = "abcde" indices = [4, 3, 2, 1, 0] print(rearrange_string(s, indices)) # 输出: "edcba" ``` 这个函数的工作原理: 1. 创建一个与输入字符串长度相同的空列表`res` 2. 遍历原始字符串`s`的每个字符及其索引 3. 将每个字符`s[i]`放到结果列表的`indices[i]`位置 4. 最后将列表连接成字符串返回 注意:这个实现假设输入的`indices`是有效的(即不包含越界索引,且每个索引唯一) ######[AI问答 | 244点数解答 | 2025-05-30 17:19:36]
相关提问
- C++ 求解:最少操作次数让字符串无子串 “friend” (字节豆包 | 153点数解答 | 2024-08-17 16:29:54)494
- C++ 求解:最少操作次数让字符串不再含 “friend” 子串!(讯飞星火 | 260点数解答 | 2024-08-17 16:30:49)478
- Python 巧解:最少操作次数让字符串告别“friend”子串(字节豆包 | 139点数解答 | 2024-08-18 13:04:14)418
- 3414 数字游戏:Python 求解 8 位 01 字符串中 1 的个数 (字节豆包 | 106点数解答 | 2024-10-27 14:23:27)444
- 巧用字符添加,计算字符串中“our”最大数量及开发注意要点(DeepSeek | 376点数解答 | 2025-10-30 19:20:06)93
- C 语言实现:处理字符串生成最多 “our” 串,附代码及关键开发注意点 (DeepSeek | 257点数解答 | 2025-10-30 19:20:36)127
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)485
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)366
- Python开发必备:字符串、列表、元组、字典常用的5个方法大揭秘!(阿里通义 | 325点数解答 | 2023-11-08 00:51:48)270
- DBA必知!MySQL索引、主键、唯一索引与联合索引的区别揭秘(百度文心 | 294点数解答 | 2023-11-09 18:00:37)230
- 探秘 Linux sensors 原理:从硬件读取到数据监测的全面剖析(GPT | 407点数解答 | 2024-10-21 16:06:25)271
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)436