【leetcode】917. Reverse Only Letters(双指针)
- All the characters that are not English letters remain in the same position.
- All the English letters (lowercase or uppercase) should be reversed.
class Solution {
public:
string reverseOnlyLetters(string s) {
//用栈或者双指针即可
//two-pointer
int n=s.size();
int left=0,right=n-1;
while(left<right)
{
//这样写是错误的:~((s[left]>='A'&&s[left]<='Z')||(s[left]>='a'&&s[left]<='z') 按位取反以及逻辑取非不一样
//写法和快排思路相似
while(left<right && !((s[left]>='A'&&s[left]<='Z')||(s[left]>='a'&&s[left]<='z')))
{
//cout<<~((s[left]>='A'&&s[left]<='Z')||(s[left]>='a'&&s[left]<='z'))<<endl;
left++;
}
cout<<left<<endl;
while(left<right && !((s[right]>='A'&&s[right]<='Z')||(s[right]>='a'&&s[right]<='z')))
{
right--;
}
//cout<<left<<"-"<<right<<endl;
if(left<right)
{
//cout<<left<<"-"<<right<<endl;
char tmp=s[left];
s[left]=s[right];
s[right]=tmp;
left++;
right--;
}
}
return s;
}
};
【leetcode】917. Reverse Only Letters(双指针)的更多相关文章
- [LeetCode] 917. Reverse Only Letters 只翻转字母
Given a string S, return the "reversed" string where all characters that are not a letter ...
- #Leetcode# 917. Reverse Only Letters
https://leetcode.com/problems/reverse-only-letters/ Given a string S, return the "reversed" ...
- LeetCode 917 Reverse Only Letters 解题报告
题目要求 Given a string S, return the "reversed" string where all characters that are not a le ...
- LeetCode 917. Reverse Only Letters (仅仅反转字母)
题目标签:String 利用left, right 两个pointers, 从左右开始 互换 字母.如果遇到的不是字母,那么继续移动到下一个. Java Solution: Runtime beats ...
- 【Leetcode_easy】917. Reverse Only Letters
problem 917. Reverse Only Letters solution: class Solution { public: string reverseOnlyLetters(strin ...
- 【LeetCode】917. Reverse Only Letters 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 栈 单指针 双指针 日期 题目地址: https:/ ...
- [LeetCode&Python] Problem 917. Reverse Only Letters
Given a string S, return the "reversed" string where all characters that are not a letter ...
- LeetCode 345. Reverse Vowels of a String(双指针)
题意:给定一个字符串,反转字符串中的元音字母. 例如: Input: "leetcode" Output: "leotcede" 法一:双指针 class So ...
- Leetcode 25. Reverse Nodes in k-Group 以每组k个结点进行链表反转(链表)
Leetcode 25. Reverse Nodes in k-Group 以每组k个结点进行链表反转(链表) 题目描述 已知一个链表,每次对k个节点进行反转,最后返回反转后的链表 测试样例 Inpu ...
随机推荐
- Docker容器间网络互联原理,讲不明白算我输....
@ 目录 一.今天我们要搞明白的实验 二.前置网络知识 2.1.docker默认为我们创建的网络 2.2.怎么理解docker0网桥 2.3.什么是veth-pair技术? 三.同一个局域网中不同主机 ...
- LeetCode88 合并有序数组
1. 这道题为简单题目,但是还有需要好好思考的 2. 首先不能使用额外数组合并,不然就没得后文了 3. nums1后面有0填充,且填充数量正好是n,整个数组大小即m+n能够容纳合并后的数据 4.既然要 ...
- loadruuner12基准测试流程
基准测试:单用户测试 一.归纳基准测试: 方法一:单用户循环5次 1.调试好脚本(加检查点,在VuGen中运行成功) 2.打开控制台,设置Run-time Settings 3.迭代次数:5 4.Pa ...
- initNativeTransServiceId . ntrans:object componentId :-368613127 微信小程序
二维码打开的页面是否存在 注意:体验版二维码默认路径是 pages/index/index 我的因为分包的原因调整了首页路径 所以路径是pages/tabBar/search/search 如果不是这 ...
- Python爬虫中的URLError\HTTPError异常类,异常的抛出
# _*_ coding : utf-8 _*_# @Time : 2021/11/2 14:20# @Author : 秋泊酱 import urllib.request import urllib ...
- PAT A1107——并查集
Social Clusters When register on a social network, you are always asked to specify your hobbies in ...
- [cf700D]Huffman Coding on Segment
令$tot_{i}$为区间$[l,r]$中满足$a_{j}=i$的$j$的个数,将所有非0的$tot_{i}$取出,得到可重集$S$ 显然,有以下贪心:不断取出$S$中最小的两个元素,删除这两个元素并 ...
- [loj3500]矩阵游戏
为了方便,令$a_{i,j}$的下标范围为$[0,n]$和$[0,m]$,$b_{i,j}$的下标范围为$[1,n]$和$[1,m]$ 当确定$a_{i,0}$和$a_{0,j}$后,即可通过$b_{ ...
- [loj3342]制作菜品
当$n-1\le m$,不妨令$d_{1}\le d_{2}\le...\le d_{n}$,则$(n-1)k\le mk=\sum_{i=1}^{n}d_{i}\le d_{1}+(n-1)d_{n ...
- SSM整合小项目
1.文件目录结构 2.MyBatis配置 创建数据库环境 CREATE DATABASE `ssmbuild`; USE `ssmbuild`; DROP TABLE IF EXISTS `books ...