首页 > 其他分享 >数据结构:(OJ917)仅仅反转字母

数据结构:(OJ917)仅仅反转字母

时间:2024-10-26 21:47:49浏览次数:10  
标签:ch 示例 英文字母 反转 字母 OJ917 && 数据结构 输入

给你一个字符串 s ,根据下述规则反转字符串:

  • 所有非英文字母保留在原有位置。
  • 所有英文字母(小写或大写)位置反转。

返回反转后的 s 。

示例 1:

输入:s = "ab-cd"
输出:"dc-ba"

示例 2:

输入:s = "a-bC-dEf-ghIj"
输出:"j-Ih-gfE-dCba"

示例 3:

输入:s = "Test1ng-Leet=code-Q!"
输出:"Qedo1ct-eeLg=ntse-T!"

提示

  • 1 <= s.length <= 100
  • s 仅由 ASCII 值在范围 [33, 122] 的字符组成
  • s 不含 '\"' 或 '\\'
class Solution {
public:
    //判断传来的是字母
    bool isLetter(char ch)
    {
        if(ch>='a'&&ch<='z')
        return true;
        if(ch>='A'&&ch<='Z')
        return true;

        return false;
    }

    string reverseOnlyLetters(string S) {
       if(S.empty())
       {
            return S;
       }

       size_t begin =0,end=S.size()-1;
       while(begin<end)
       {
            while(begin<end && !isLetter(S[begin]))
            {
                begin++;
            }
            while(begin<end && !isLetter(S[end]))
            {
                end--;
            }
            swap(S[begin],S[end]);
            ++begin;--end;
       }
       return S;
    }
};

标签:ch,示例,英文字母,反转,字母,OJ917,&&,数据结构,输入
From: https://blog.csdn.net/2303_81073778/article/details/143260197

相关文章

  • 数据结构之队列
    一、队列的定义队列是一种操作受限的线性表,队列只允许在表的一端进行插入,在表的另一端进行删除。可进行插入的一段称为队尾,可进行删除的一端称为队头。队列的主要特点就是先进先出。依照存储结构可分为:顺序队和链式队。二、顺序队列一开始front(队头)和rear(队尾)都在数......
  • 【数据结构】树-二叉树-堆(上)
    ......
  • 数据结构与算法——顺序栈的实现
    数据结构栈——一列数据,表尾入栈,表尾出栈,类似于子弹弹匣,压入子弹和拿出子弹都是从最上方进出。结构体structStack{ int*arr; intcapacity;//数组容量 inttop;//存储栈顶元素的下标};初始化栈intInitStack(structStack*stack){ stack->arr=......
  • 初阶数据结构之顺序表的实现
    1线性表什么是线性表呢?线性表是n个具有相同特性的数据元素的有限序列。常见的线性表:顺序表,链表,栈,队列,字符串。线性表在逻辑上是线性结构,在物理结构上不一定是线性的。线性表在物理存储时,通常是以数组或链式结构形式存储。线性表大致分为两种:顺序表和链表。基于这两种......
  • 数据结构:学生成绩管理系统(链表方法)〈可直接使用〉
    本代码比较完善,有登录模块和菜单模块,拥有很高的可操控性和可观性。代码所包含的功能有很多:成绩输入与删除,按位置查询学生,按姓名查找学生,求表的长度,求最高分学生信息,显示全部学生信息,保存与读取文件......本代码的文件读取和文件保存是一大亮点,可以灵活的存取,启动一次可以切换......
  • Redis基础知识(学习笔记1--五种基础数据结构)
    Redis,Remote Dictionary Server,远程字典服务。Redis的性能极高:其读的速度可以达到11W/s,写的速度可以到达8W/s。高性能的原因(1)操作在内存中发生;(2)C语言开发;(3)源码简单精细(集性能与优雅于一身),早期版本源码只有2W行左右,从3.0版本(开始支持cluster),代码变成了5W左右。Redis有5种......
  • 【数据结构初阶】单链表接口实现超详解
    1.顺序表问题与思考上一篇博客中我们介绍了顺序表,那么顺序表有什么缺点呢?中间/头部的插入删除,时间复杂度为O(N)增容需要申请新空间,拷贝数据,释放旧空间。会有不小的消耗。增容一般是呈2倍的增长,势必会有一定的空间浪费。例如当前容量为100,满了以后增容到200,我们再继续插入了5个数......
  • 实验6-2 英文字母替换加密(大小写转换+后移1位)
     ......
  • 数据结构前置知识
    想要成为一名真正的高手,会写会读代码真的只是起步而已,能明白程序的底层运行逻辑,才是神中神。数据结构正是让我们进入代码逻辑世界的钥匙......
  • 初阶数据结构【3】--单链表(比顺序表还好的一种数据结构!!!)
    本章概述前情回顾单链表实现单链表彩蛋时刻!!!前情回顾咱们在上一章博客点击:《顺序表》的末尾,提出了一个问题,讲出了顺序表的缺点——有点浪费空间。所以,为了解决这个问题,我们今天就要讲解链表,咱们在讲结构体的时候有提到过链表,链表的最大优点——一点空间也不浪费,用多少......