反转字符串
大约 2 分钟
反转字符串
给定一个字符数组chars
,将其反转,使得字符数组中的元素按照逆序排列。
示例:
输入:chars = ["h","e","l","l","o"] 输出:["o","l","l","e","h"] 解释:将字符数组反转后,得到逆序排列的字符数组为["o","l","l","e","h"]。
输入:chars = ["H","a","n","n","a","h"] 输出:["h","a","n","n","a","H"] 解释:将字符数组反转后,得到逆序排列的字符数组为["h","a","n","n","a","H"]。
题目分析与解题步骤:
这个问题可以使用栈来解决。我们可以遍历字符数组中的每个字符,并将其入栈,然后依次出栈得到逆序排列的字符数组。
解题步骤如下:
创建一个栈
stack
,用于存储字符数组中的元素。遍历字符数组
chars
中的每个字符,并执行以下操作:- 将当前字符入栈。
创建一个空数组
result
,用于存储逆序排列的字符数组。循环从栈中出栈字符,并将其添加到
result
数组中,直到栈为空。返回逆序排列的字符数组
result
作为最终结果。
JavaScript解题框架:
function reverseString(chars) {
let stack = new Stack();
for (let char of chars) {
stack.push(char);
}
let result = [];
while (!stack.isEmpty()) {
result.push(stack.pop());
}
return result;
}
在这个框架中,我们首先定义了一个栈类Stack
,其中包含了常用的栈操作方法。然后,我们使用栈来反转字符串。
在reverseString
函数中,我们遍历字符数组chars
,并将每个字符入栈。然后,我们创建一个空数组result
,用于存储逆序排列的字符数组。
接下来,我们循环从栈中出栈字符,并将其添加到result
数组中,直到栈为空。
最后,返回逆序排列的字符数组result
作为最终结果。