溫馨提示×

c++字符串反轉怎么實現

c++
小億
182
2024-01-19 11:17:14
欄目: 編程語言

在C++中,可以使用以下方法來實現字符串的反轉:

  1. 使用循環:可以使用兩個指針,一個指向字符串的開始,一個指向字符串的末尾,然后交換兩個指針所指向的字符,然后分別向中間移動指針,直到兩個指針相遇。代碼示例如下:
#include <iostream>
#include <string>

void reverseString(std::string& str) {
    int left = 0;
    int right = str.length() - 1;
    
    while (left < right) {
        std::swap(str[left], str[right]);
        left++;
        right--;
    }
}

int main() {
    std::string str = "Hello World";
    reverseString(str);
    std::cout << str << std::endl; // 輸出 "dlroW olleH"
    
    return 0;
}
  1. 使用遞歸:可以將字符串拆分為一個字符和剩余字符串,然后遞歸反轉剩余字符串,并將字符放在末尾。代碼示例如下:
#include <iostream>
#include <string>

std::string reverseString(const std::string& str) {
    if (str.length() <= 1) {
        return str;
    }
    
    return reverseString(str.substr(1)) + str[0];
}

int main() {
    std::string str = "Hello World";
    str = reverseString(str);
    std::cout << str << std::endl; // 輸出 "dlroW olleH"
    
    return 0;
}

無論是使用循環還是遞歸,都可以實現字符串的反轉。根據具體的需求和字符串的長度,選擇合適的方法來實現。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女