当面试算法问题时,一道常见的问题是 "反转字符串"。这个问题测试了你的基本编程能力以及对字符串和数组操作的了解。
问题:
给定一个字符串,将其反转。例如,输入 "Hello",输出 "olleH"。
解答:
可以使用多种编程语言来解决这个问题。以下是一些常见语言的示例解答:
Python 解答:
css
def reverse_string(s):
return s[::-1]
# 测试
input_string = "Hello"
result = reverse_string(input_string)
print(result) # 输出 "olleH"
JavaScript 解答:
css
function reverseString(s) {
return s.split('').reverse().join('');
}
// 测试
let inputString = "Hello";
let result = reverseString(inputString);
console.log(result); // 输出 "olleH"
C++ 解答:
css
#include <iostream>
#include <string>
using namespace std;
string reverseString(string s) {
int left = 0;
int right = s.length() - 1;
while (left < right) {
swap(s[left], s[right]);
left++;
right--;
}
return s;
}
int main() {
string inputString = "Hello";
string result = reverseString(inputString);
cout << result << endl; // 输出 "olleH"
return 0;
}
以上示例中,我们使用不同的编程语言实现了字符串反转。基本思路是从字符串的两端开始,交换字符直到中间位置,从而实现反转。这是一个经典的面试问题,常用于测试面试者的编程技能和对字符串操作的理解。