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;
}
相关推荐
库玛西6 小时前
深入浅出Linux select网络模型:从底层位图原理到C++面向对象高级封装
linux·服务器·网络·c++·ubuntu
2402_882893867 小时前
深入浅出 unordered_map 与 unordered_set——从使用到底层差异
c++·哈希·unordered_map·unordered_set
洋不写bug7 小时前
链表补充练习,双链表的模拟实现
java·数据结构·链表·双链表·底层实现
residual_fan7 小时前
持续对比强化学习(Continual Contrastive Reinforcement Learning)论文分享
人工智能·算法·数据挖掘·数据分析
今天要早睡_7 小时前
C++ 核心语法速过:命名空间、引用、函数重载与 nullptr 深度解析
android·java·c++
s_w.h7 小时前
【 计网 】序列化与反序列化
linux·服务器·网络·算法·bash
信奥卷王7 小时前
2025年09月GESPC++五级真题解析(含视频)
算法
白狐_7987 小时前
408 数据结构|外部排序:流程与 k 路归并
数据结构·算法
汉克老师7 小时前
CSP-J 初赛(以满分为目标):第二十七课 《图的遍历——BFS广度优先搜索——像“水波纹”一样,一层一层地搜索》
c++·csp-j·小学生·学c++编程
闻缺陷则喜何志丹8 小时前
【动态规划】P3609 [USACO17JAN] Hoof, Paper, Scissor G
c++·算法·动态规划·洛谷