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

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

Problem

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:

S.length <= 10033 <= S[i].ASCIIcode <= 122 S doesn't contain \ or "

Solution

class Solution {    public String reverseOnlyLetters(String S) {        char[] str = S.toCharArray();        int i = 0, j = str.length-1;        while (i < j) {            while (i < j && !Character.isLetter(str[i])) i++;            while (i < j && !Character.isLetter(str[j])) j--;            swap(str, i++, j--);        }        StringBuilder sb = new StringBuilder();        sb.append(str);        return sb.toString();    }    private void swap(char[] str, int i, int j) {        char temp = str[i];        str[i] = str[j];        str[j] = temp;    }}

转载地址:http://kwhlx.baihongyu.com/

你可能感兴趣的文章
Visual Studio Code管理MySQL
查看>>
Mysql锁机制--写锁
查看>>
VO、DTO、DO、PO
查看>>
Java知多少(51)finally
查看>>
【翻译】理解内存
查看>>
HNUSTOJ-1258 Time
查看>>
bzoj1061 1283
查看>>
oscached
查看>>
L119
查看>>
两列自适应布局的4种思路
查看>>
UITextField 限制输入金额(项目中遇到判断输入金额)
查看>>
poj1126
查看>>
Hosted Services+Quartz实现定时任务调度
查看>>
学习 Civil 3D二次开发从哪儿开始?
查看>>
openresty
查看>>
抽象类特点
查看>>
50个必备的实用jQuery代码段
查看>>
lighttpd + php for android 安卓上的WEB服务器
查看>>
四则运算生成器
查看>>
如何导出SQL Azure脚本?
查看>>