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;
}
相关推荐
会编程的土豆1 天前
【复习】二分查找
数据结构·c++·算法
yuanpan1 天前
Python 调用 DLL 动态库入门:Windows 下调用 C++ 与 C# 动态库完整示例
c++·windows·python
Yzzz-F1 天前
Problem - D - Codeforces
算法
chas_881 天前
macbook air M5 32G本地跑ddtree-mlx效果
算法
programhelp_1 天前
WeRide OA 2026 高频真题分享 & 详细备战指南
经验分享·算法·面试·职场和发展
疯狂打码的少年1 天前
单向循环链表 + 尾指针:让插入删除更高效的秘密武器
数据结构·python·链表
菜菜的顾清寒1 天前
Leetcode (18) 力扣100 矩阵置零
算法
董董灿是个攻城狮1 天前
5分钟搞懂微调的能力退化问题
算法
handler011 天前
Linux: 基本指令知识点(3)
linux·服务器·c语言·开发语言·c++·笔记
wuminyu1 天前
专家视角看Java线程生命周期与上下文切换的本质
java·linux·c语言·jvm·c++