首页 > 编程语言 >郑莉cpp习题6-22 用递归算法翻转字符串s

郑莉cpp习题6-22 用递归算法翻转字符串s

时间:2024-03-11 14:58:29浏览次数:18  
标签:right reverse 22 int cpp 习题 size left

郑莉cpp习题6-22    用递归算法翻转字符串s

#include <iostream>
using namespace std;
#include <string>

void reverse(string &s,int left,int right)
{
    char t;
    if(left < right)
    {
        t = s[left];
        s[left] = s[right];
        s[right] = t;
        reverse(s,++left,--right);
    }
}

void reverse(string &s)
{
    int size = s.size();
    reverse(s,0,size-1);
}

int main()
{
    string s1 = "abcdefghijk";
    reverse(s1);
    cout << s1 << endl;
    return 0;
}

结果

kjihgfedcba

 

标签:right,reverse,22,int,cpp,习题,size,left
From: https://www.cnblogs.com/uacs2024/p/18066063

相关文章

  • 用vcpkg 和vs2022,使用msvc编译器,怎么添加新的依赖库(包含头文件与dll)
    安装vcpkg:如果您还没有安装vcpkg,可以通过VisualStudioInstaller安装。在安装或修改VisualStudio时,选择“C++桌面开发”,然后勾选“vcpkg-C++库管理器”1。集成vcpkg到VisualStudio:在VisualStudio中,通过“工具”菜单选择“NuGet包管理器->程序包管......
  • 122. 买卖股票的最佳时机 II c
    、动态规划太难啦!intgetmax(inti,intj){if(i>j)returni;returnj;}intmaxProfit(int*prices,intpricesSize){if(pricesSize==1)return0;int**dp=(int**)malloc(sizeof(int*)*pricesSize);//dp[i][0/1]第i结束交易时天的最大收益,0/1代表有......
  • 力扣 22. 括号生成
    数字n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。示例1:输入:n=3输出:["((()))","(()())","(())()","()(())","()()()"]示例2:输入:n=1输出:["()"]classSolution{  publicList<String>generate......
  • Ubuntu 22.04内核代码下载、编译、调试
    1下载Ubuntu Kernel参考《Kernel/Dev/KernelGitGuide-UbuntuWiki》,下载Ubuntu22.04代码:gitclonehttps://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/jammy2修改、编译、安装UbuntuKernel参考《Kernel/BuildYourOwnKernel-UbuntuWiki》。......
  • 郑莉cpp例6-22 浅层复制与深层复制
    浅层复制与深层复制浅层复制并没有形成真正的副本,存在两个对象共用同一块内存空间而导致执行析构函数时,该空间被两次释放,导致运行错误。深层复制则实现,复制之后,两个对象不互相影响。#include<iostream>usingnamespacestd;#include<cassert>classPoint{public:P......
  • 计算机操作系统(第四版)- 汤小丹 - 课后习题答案
    计算机操作系统(第四版)汤小丹课后习题答案第一章1.设计现代OS的主要目标是什么?答: (1)有效性  (2)方便性  (3)可扩充性  (4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS......
  • MYSQL学习笔记22: 多表查询
    多表查询单表查询查询emp表select*fromemp;查询dept表select*fromdept;笛卡尔积(全组合)#emp表有4条记录,dept表有6条记录#笛卡尔积有4*6=24条记录select*fromemp,dept;消除无效的笛卡尔积(emp和dept通过dept_id连接)select*fromemp,deptw......
  • 代码随想录 第十六天 | ● 104.二叉树的最大深度 559.n叉树的最大深度 ● 111.二叉树
    leetcode:104.二叉树的最大深度-力扣(LeetCode)思路:递归判断每次左右节点的是否存在,存在自然加一,return的1就是这样,判断子节点的左右两端是否有节点,统计有的节点数量,也就是左右的高度classSolution{publicintmaxDepth(TreeNoderoot){//后序遍历if......
  • ubuntu22.04编译创龙T113-i mini的SDK
    ubuntu版本22.04.11.解压安装包拷贝sdk并解压出来,注意安装包较大请预留好硬盘空间2.预安装编译应用先安装如下应用,在编译过程中需要使用到的依赖sudoaptinstallbuild-essentialcmakeflexbisonu-boot-toolsopenssllibssl-devtexinfo3.安装和更换python2编译使......
  • 代码随想录 第十五天 | ● 层序遍历 10 ● 226.翻转二叉树 ● 101.对称二叉树 2 感
    leetcode:102.二叉树的层序遍历-力扣(LeetCode)思路:用队列长度控制弹栈的多少,不等于空时获取root,因为传了一个根肯定是1,接下来找左右节点,将根节点弹出,获取下一次的size,一直到空。。。//102.二叉树的层序遍历classSolution{publicList<List<Integer>>resList=newA......