ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

LeetCode 2000. Reverse Prefix of Word

2022-02-02 16:35:43  阅读:159  来源: 互联网

标签:ch 下标 word 复杂度 dcbaefd Prefix 2000 字符串 Word


LeetCode 2000. Reverse Prefix of Word (反转单词前缀)

题目

链接

https://leetcode-cn.com/problems/reverse-prefix-of-word/

问题描述

给你一个下标从 0 开始的字符串 word 和一个字符 ch 。找出 ch 第一次出现的下标 i ,反转 word 中从下标 0 开始、直到下标 i 结束(含下标 i )的那段字符。如果 word 中不存在字符 ch ,则无需进行任何操作。

例如,如果 word = "abcdefd" 且 ch = "d" ,那么你应该 反转 从下标 0 开始、直到下标 3 结束(含下标 3 )。结果字符串将会是 "dcbaefd" 。
返回 结果字符串 。

示例

输入:word = "abcdefd", ch = "d"
输出:"dcbaefd"
解释:"d" 第一次出现在下标 3 。
反转从下标 0 到下标 3(含下标 3)的这段字符,结果字符串是 "dcbaefd" 。

提示

1 <= word.length <= 250
word 由小写英文字母组成
ch 是一个小写英文字母

思路

大年初二的每日一题,字符串处理题目。

先转为数组,之后遍历,找到ch所在位置,设置break跳出循环,然后转置前面部分,包括index,和后面部分拼接,输出即可。

复杂度分析

时间复杂度 O(n)
空间复杂度 O(n)

代码

Java

    public String reversePrefix(String word, char ch) {
        int n = word.length();
        int index = -1;
        char[] chars = word.toCharArray();
        for(int i = 0;i<n;i++){
            if(chars[i] == ch){
                index = i;
                break;
            }
        }
        if(index == -1){
            return word;
        }else {
            int l = 0,r = index;
            while (l<r){
                char tmp = chars[l];
                chars[l++] = chars[r];
                chars[r--] = tmp;
            }
            word = new String(chars);
            return word;
        }

    }

标签:ch,下标,word,复杂度,dcbaefd,Prefix,2000,字符串,Word
来源: https://www.cnblogs.com/blogxjc/p/15860438.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有