• 面试题58


    题目地址:https://leetcode-cn.com/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof/

    题目描述

    字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。

    题目示例

    示例 1:

    输入: s = "abcdefg", k = 2
    输出: "cdefgab"
    

    示例 2:

    输入: s = "lrloseumgh", k = 6
    输出: "umghlrlose"

    解题思路

    普通法:我们使用三个字符串str1和str2和res,其中str1保存字符串s从n到s.size()-1的所有字符,str2保存字符串s从0到n-1的字符,最后将字符串str1和str2拼接起来,便可得到题目所要求的反转字符串,即res = str1 + str2

    标准库:

    • Step1:将字符串s中前n个字符取出赋值给str;
    • Step2:使用erase函数将字符串s中的前n个字符删除;
    • Step3:使用append函数向字符串s中追加str

    程序源码

    普通法

    class Solution {
    public:
        string reverseLeftWords(string s, int n) {
            if(s.size() < 1) return s;
            string res = "", str1 = "", str2 = "";
            for(int i = n ; i < s.size(); i++)
            {
                str1 += s[i];
            }
            for(int j = 0; j < n; j++)
            {
                str2 += s[j];
            }
            res = str1 + str2;
            return res;
        }
    };

    标志库

    class Solution {
    public:
        string reverseLeftWords(string s, int n) {
            string str = s.substr(0,n); 
            s.erase(0,n); 
            s.append(str);
            return s;
        }
    };
    ----------------------------------- 心之所向,素履所往;生如逆旅,一苇以航。 ------------------------------------------
  • 相关阅读:
    Redis 持久化
    Redis 事务
    select poll和 epoll
    jdk信任证书
    Java中的锁分类
    mysql触发器同步远程服务器上数据库
    正则表达式
    mysql主从同步
    MySQL逗号分割字段的行列转换技巧
    Mysql中文排序
  • 原文地址:https://www.cnblogs.com/wzw0625/p/12521859.html
Copyright © 2020-2023  润新知