c++编程:反转字符串(leetcode344)

c++编程:反转字符串

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main(){
    string s;                      // ✅ 用 string 代替 vector<char>
    cin >> s;                      // ✅ 直接输入字符串
    int len = s.size();            // ✅ 声明 len 变量
    
    for(int i = 0, j = len - 1; i < len / 2; i++, j--) {
        swap(s[i], s[j]);          // ✅ 交换字符
    }
    
    cout << s << endl;             // ✅ 直接输出字符串
    return 0;
}

1. vector<char> 不能直接用 cin>> 输入 ❌

vector<char> s;

cin >> s; // ❌ 错误!vector 没有直接输入操作符

2. vector<char> 不能直接用 cout<< 输出 ❌

cout << s; // ❌ 错误!vector 没有直接输出操作符

如果用 vector<char> 的正确写法

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main(){
    string str;
    cin >> str;
    
    vector<char> s;
    for(int i = 0; i < str.length(); i++) {
        s.push_back(str[i]);
    }
    
    // 使用 for 循环反转
    for(int i = 0; i < s.size() / 2; i++) {
        swap(s[i], s[s.size() - 1 - i]);   // 交换对称位置的字符
    }
    
    for(int i = 0; i < s.size(); i++) {
        cout << s[i];
    }
    cout << endl;
    
    return 0;
}
相关推荐
Navigator_Z3 小时前
LeetCode //C - 1317. Convert Integer to the Sum of Two No-Zero Integers
c语言·算法·leetcode
wo_jack3 小时前
C++ 入门笔记(十六):第16课 vector 模拟实现十问十答 —— 从三指针到迭代器失效
c++·后端·面试·stl·vector
D e re k ZH4 小时前
C++ 标准库算法全景指南
数据结构·c++·算法
冻柠檬飞冰走茶5 小时前
字母移动游戏题解:贪心求最长可保留连续子串(附 C 实现)
c语言·开发语言·数据结构·算法·动态规划
雪落漂泊5 小时前
C++算法 二分查找篇(上)
开发语言·c++·算法
不会算法的笨小孩7 小时前
异常的使用以及会出现的问题
开发语言·c++·c++11·异常
LabVIEW开发7 小时前
LabVIEW 连接板:28 个端子怎么排,优先级怎么定
java·算法·labview
严肃小白兔8 小时前
MATLAB 数值计算中的精度与误差问题:浮点运算、误差传播与数值稳定性
人工智能·算法·matlab
Hhy_11079 小时前
《C++深度解构06》手撕 string —— 从底层内存管理到深浅拷贝彻底吃透
c语言·开发语言·c++·学习·visual studio