zoukankan      html  css  js  c++  java
  • #Leetcode# 541. Reverse String II

    https://leetcode.com/problems/reverse-string-ii/

    Given a string and an integer k, you need to reverse the first k characters for every 2k characters counting from the start of the string. If there are less than k characters left, reverse all of them. If there are less than 2k but greater than or equal to k characters, then reverse the first k characters and left the other as original.

    Example:

    Input: s = "abcdefg", k = 2
    Output: "bacdfeg"
    

    Restrictions:

    1. The string consists of lower English letters only.
    2. Length of the given string and k will in the range [1, 10000]

    代码:

    class Solution {
    public:
        string reverseStr(string s, int k) {
            int len = s.length();
            int cnt = len / k;
            for(int i = 0; i <= cnt; i ++) {
                if(i % 2 == 0) {
                    if(i * k + k < len)
                        reverse(s.begin() + i * k, s.begin() + i * k + k);
                    else reverse(s.begin() + i * k, s.end());
                }
            }
            return s;
        }
    };
    

      reverse 函数好像很久不用了呢

    reverse 用法:

    #include <bits/stdc++.h>
    using namespace std;
    
    const int maxn = 1e5 + 10;
    string s;
    char a[maxn];
    
    int main() {
        getline(cin, s);
        reverse(s.begin(), s.end());
        cout << s;
    
        printf("
    -----
    ");
    
        gets(a);
        int len = strlen(a);
        reverse(a, a + len);
        printf("%s", a);
        return 0;
    }
    View Code
  • 相关阅读:
    nefu17
    杭电1051
    杭电1050
    有关异或符号'^'在c++编程中的应用的讲解!!!
    杭电2095
    杭电2094
    关于set容器的简单讲解!!!
    拍拍开发
    收藏框架
    js form.submit() 无效
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/10371939.html
Copyright © 2011-2022 走看看