栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

2021-10-15 反转字符串

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-10-15 反转字符串

  1. 反转字符串
    编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。
    不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

示例 1:
输入:s = [“h”,“e”,“l”,“l”,“o”]
输出:[“o”,“l”,“l”,“e”,“h”]

示例 2:
输入:s = [“H”,“a”,“n”,“n”,“a”,“h”]
输出:[“h”,“a”,“n”,“n”,“a”,“H”]
过程解析:
采用双指针的思想

class Solution {
    public void reverseString(char[] s) {
        if(s==null||s.length==0){
            return;
        }
        int left=0,right=s.length-1;
        while(left 

结果:
执行用时:1 ms, 在所有 Java 提交中击败了95.62%的用户
内存消耗:44.7 MB, 在所有 Java 提交中击败了89.28%的用户
通过测试用例:477 / 477

  1. 反转字符串中的单词 III
    给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。

示例:
输入:“Let’s take LeetCode contest”
输出:“s’teL ekat edoCteeL tsetnoc”
过程解析:

class Solution {
    public String reverseWords(String s) {
        //先将字符串转为字符串数组
        char[] arr=s.toCharArray();
        //新建一个数组,用来存放逆序的单词
        char[] word=new char[arr.length];
        int i=0,j=0;
        int k=0;// 下一次往新数组中存储单词时的起始位置(k是在数组arr中)
        while(i=k;t--){
                    //将单词逆序存放
                    word[j++]=arr[t];
                }
                word[j]=' '; //在添加的逆序单词后面加一个空字符
                j++;
                k=i+1;
            }
            i++;
        }
        //由于最后一个单词后面没有空字符,所以拿出来单独存储
        for(int t=i-1;t>=k;t--){
            word[j++]=arr[t];
        }
        //将数组再转为字符串
        String str=String.valueOf(word);
        return str;
    }
}

结果:
执行用时:2 ms, 在所有 Java 提交中击败了100.00%的用户
内存消耗:38.4 MB, 在所有 Java 提交中击败了98.78%的用户
通过测试用例:29 / 29

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/328527.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号