算法面试题:字符串反转

当面试算法问题时,一道常见的问题是 "反转字符串"。这个问题测试了你的基本编程能力以及对字符串和数组操作的了解。

问题:

给定一个字符串,将其反转。例如,输入 "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;
}

以上示例中,我们使用不同的编程语言实现了字符串反转。基本思路是从字符串的两端开始,交换字符直到中间位置,从而实现反转。这是一个经典的面试问题,常用于测试面试者的编程技能和对字符串操作的理解。

相关推荐
weixin_3077791313 小时前
C++代码实现MATLAB中的normalize函数功能
开发语言·c++·算法·matlab
不会就选b13 小时前
算法日常・每日刷题--<动态规划>11
算法
(Charon)13 小时前
【C++面试】手写String类:同时实现拷贝构造与移动构造
c++·算法
迷途之人不知返13 小时前
算法系列6:模拟
算法
旺仔仔仔13 小时前
# 机器人项目实战(1):选相机、试深度,再到手眼标定
算法
CoderYanger14 小时前
A.每日一题:1614. 括号的最大嵌套深度
java·程序人生·算法·leetcode·面试·学习方法
yuki蜜语14 小时前
别只会调包跑模型!一文讲透大模型训练底层的“递推、递归、三明治”三重逻辑
算法
成旭先生14 小时前
银行卡识别 API:一张照片读出卡号、BIN 与发卡行
人工智能·算法·ocr·api接口·金融科技·银行卡识别·支付风控
陌上花开缓缓归以14 小时前
mebdlts3.4.1安全启动全流程
服务器·算法
Nebula_g14 小时前
JavaSE拓展:可变参数
java·开发语言·算法·安全·javase·可变参数