博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leetcode-917-Reverse Only Letters]
阅读量:6658 次
发布时间:2019-06-25

本文共 902 字,大约阅读时间需要 3 分钟。

Given a string S, return the "reversed" string where all characters that are not a letter stay in the same place, and all letters reverse their positions.

 

 

Example 1:

Input: "ab-cd"Output: "dc-ba"

Example 2:

Input: "a-bC-dEf-ghIj"Output: "j-Ih-gfE-dCba"

Example 3:

Input: "Test1ng-Leet=code-Q!"Output: "Qedo1ct-eeLg=ntse-T!"

 

Note:

  1. S.length <= 100
  2. 33 <= S[i].ASCIIcode <= 122 
  3. S doesn't contain \ or "

思路:

两个标记,分别从前和从后往中间方向遍历,遇到字母交换,否则游标继续往下走。

bool isLetter(char ch){    return ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'));}string reverseOnlyLetters(string S){    string ret = S;    int n = S.length();    int start = 0;    int end = n - 1;    while(start <= n-1 && end >= 0)    {        if(!isLetter(S[end])){end--;continue;}        if(!isLetter(ret[start])){start++;continue;}        ret[start++] = S[end--];    }     return ret;       }

 

转载于:https://www.cnblogs.com/hellowooorld/p/9749986.html

你可能感兴趣的文章
莎莎的简历
查看>>
bloom, Fake HDR, True HDR(转)
查看>>
【转】MySQL的各种timeout
查看>>
CString,string,char*,比较
查看>>
C#中Collection,List和ArrayList的区别
查看>>
web.py框架之高级应用
查看>>
如何自动以管理员身份运行.NET程序?
查看>>
IOS UTI统一类型标识符:判断文件类型通过后缀
查看>>
DotNet(C#)自定义运行时窗体设计器Runtime FormDesigner(转载)
查看>>
SQL Server数据库中批量导入数据
查看>>
次短路问题总结
查看>>
swing时钟
查看>>
Linux下Tomcat日志分割
查看>>
GCC参数详解
查看>>
datagirdview自动跳一行选择显示,界面看板
查看>>
系统崩溃分析
查看>>
PAT 1067. Sort with Swap(0,*)
查看>>
8个开发必备的PHP功能(转)
查看>>
Linux Socket编程学习
查看>>
二级域名怎么做优化
查看>>