zoukankan      html  css  js  c++  java
  • LeetCode 917. Reverse Only Letters (仅仅反转字母)

    题目标签:String

     利用left, right 两个pointers, 从左右开始 互换 字母。如果遇到的不是字母,那么继续移动到下一个。

    Java Solution:

    Runtime beats 29.87% 

    完成日期:12/08/2018

    关键点:two pointers

     1 class Solution {
     2     public String reverseOnlyLetters(String S) {
     3         char[] charArr = S.toCharArray();
     4         int left = 0;
     5         int right = S.length() - 1;
     6         
     7         while(left < right)
     8         {
     9             if(Character.isLetter(charArr[left]) && Character.isLetter(charArr[right]))
    10             {
    11                 char temp = charArr[left];
    12                 charArr[left] = charArr[right];
    13                 charArr[right] = temp;
    14                 
    15                 left++;
    16                 right--;
    17             }
    18             
    19             if(!Character.isLetter(charArr[left]))
    20                 left++;
    21             if(!Character.isLetter(charArr[right]))
    22                 right--;
    23 
    24         }
    25         
    26         return new String(charArr);
    27     }
    28 }

    参考资料:N/A

    LeetCode 题目列表 - LeetCode Questions List

    题目来源:https://leetcode.com/

  • 相关阅读:
    python
    car-travel project
    数据库
    kafka笔记
    cloudera笔记
    上课笔记
    structured streaming
    SparkSQL
    流数据
    spark厦门大学
  • 原文地址:https://www.cnblogs.com/jimmycheng/p/10089975.html
Copyright © 2011-2022 走看看