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;
}
相关推荐
南境十里·墨染春水2 小时前
C++ 笔记 友元(面向对象)
开发语言·c++·笔记
C++ 老炮儿的技术栈3 小时前
分享一个安全的CString
c语言·c++·windows·git·安全·visual studio
穿条秋裤到处跑3 小时前
每日一道leetcode(2026.03.31):字典序最小的生成字符串
算法·leetcode
桦03 小时前
[C++复习]:STL
开发语言·c++
苏宸啊4 小时前
rbtree封装map和set
c++
汉克老师5 小时前
GESP2025年6月认证C++三级( 第一部分选择题(1-8))
c++·二进制·原码·补码·gesp三级·gesp3级·八进制、
不想写代码的星星5 小时前
C++ 折叠表达式:“我写递归你写折叠,咱俩代码差十年”
c++
CoovallyAIHub5 小时前
VisionClaw:智能眼镜 + Gemini + Agent,看一眼就能帮你搜、帮你发、帮你做
算法·架构·github
Titan20245 小时前
map和set的封装学习笔记
数据结构·c++