3794. 反转字符串前缀
题目描述
给你一个字符串 s 和一个整数 k。
反转 s 的前 k 个字符,并返回结果字符串。
示例 1:
输入: s = "abcd", k = 2
输出: "bacd"
解释:
前 k = 2 个字符 "ab" 反转为 "ba"。最终得到的结果字符串为 "bacd"。
示例 2:
输入: s = "xyz", k = 3
输出: "zyx"
解释:
前 k = 3 个字符 "xyz" 反转为 "zyx"。最终得到的结果字符串为 "zyx"。
示例 3:
输入: s = "hey", k = 1
输出: "hey"
解释:
前 k = 1 个字符 "h" 在反转后保持不变。最终得到的结果字符串为 "hey"。
提示:
1 <= s.length <= 100s仅由小写英文字母组成。1 <= k <= s.length
解法
方法一:模拟
思考
只需反转前 \(k\) 个字符,\(k\) 不超过串长。切片取前缀反转再拼回后缀即可。
我们按照题目描述,将字符串的前 \(k\) 个字符反转,然后与剩余的字符串拼接即可。
时间复杂度 \(O(n)\),空间复杂度 \(O(n)\),其中 \(n\) 是字符串的长度。
1 2 3 | |
1 2 3 4 5 6 | |
1 2 3 4 5 6 7 8 | |
1 2 3 4 5 | |
1 2 3 | |