package com.myway.study;
/**
* 编程珠玑的题目:
* 举例:比如abcdef 左移三位,则变成defabc
* <p/>
* 条件限制:空间限制:可用内存为几十字节
* <p/>
* 时间限制:花费时间与n成比例
* User: zhangyong
* Date: 14-5-27
* Time: 下午8:24
* To change this template use File | Settings | File Templates.
*/
public class Reverse {
public static char[] reverse(char[] arr, int start, int end) {
int n = arr.length;
// abc 奇数
// abcd 偶数
int mid = (start + end) / 2;
for (int i = start, j = end; i <= mid; i++, j--) {
char temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
return arr;
}
public static char[] leftRotateString(char[] arr, int k) {
//字符串abcdefgh -> defghabc
// 需要三步:
// reverse(0,i-1); //cba defgh
// reverse(i,n-1); //cba hgfed
// reverse(0,n-1); //defghabc
int n = arr.length;
reverse(arr, 0, k - 1);
reverse(arr, k, n - 1);
reverse(arr, 0, n - 1);
return arr;
}
public static void main(String[] args) {
char[] arr = "abcdefg".toCharArray();
leftRotateString(arr, 3);
System.out.println(arr);
}
}
分享到:
相关推荐
`ReverseString`函数用于将一个字符串的单词顺序颠倒。该函数的实现细节如下: * `if (NULL == str) return;`:检查输入字符串是否为空,如果为空,则返回。 * `char *pend = str;`:定义一个指针`pend`,指向字符...
REVERSE() 函数的语法为 REVERSE (),其中 character_expression 可以是字符串、常数或一个列的值。 * REPLACE() 函数:返回被替换了指定子串的字符串。REPLACE() 函数的语法为 REPLACE (, , ),用 string_expression3...
在这个例子中,`reverse`函数接收一个字符串、起始位置和结束位置。在函数内部,我们首先检查起始位置是否大于等于结束位置,如果是,则递归结束。否则,交换这两个位置的字符,并对剩余部分调用`reverse`函数,使...
`reverse()`函数用于反转列表中的元素,因此我们可以先将字符串转换为列表,反转列表,然后再使用`join()`方法将字符连接回字符串。 ```python def reverse3(s): l = list(s) l.reverse() return "".join(l) ```...
在Java编程语言中,字符串是极其重要且常用的数据类型,尤其对于初学者来说,理解和熟练掌握字符串的操作至关重要。本文将围绕“java字符串练习”这一主题,深入探讨如何解析字符串、逆序输出字符串以及处理特定格式...
在C语言中,指针是其强大的特性之一,它允许我们直接操作内存地址,因此在处理字符串时,指针能够发挥关键作用。本程序旨在通过指针实现字符串的逆序和调序输出,这两个概念是字符串操作中的常见技巧。 逆序输出...
这两个类提供了append()和reverse()方法,非常适合进行字符串操作。StringBuilder适用于单线程环境,而StringBuffer是线程安全的。以下是一个使用StringBuilder的例子: ```java public class StringReverse { ...
`std::string`类提供了许多便利的方法,其中之一就是`reverse()`,它可以方便地对字符串进行倒序。以下是使用`std::string`的示例: ```cpp #include #include int main() { std::string str = "Hello, ...
### 递归实现字符串逆序 #### 知识点概览 本文将详细介绍如何使用C++中的递归技术来实现字符串的逆序操作。逆序字符串是一个常见的编程问题,在多种场景下都有应用,例如文本处理、算法设计等。通过递归方法解决此...
然而,代码示例中还展示了如何结合`REVERSE`和`SUBSTRING`函数来实现特定的子字符串提取。具体而言,先反转字符串,再从中提取部分字符,最后反转回原始顺序,这是一种巧妙的方法,但在实际应用中应根据具体情况权衡...
- **递归步骤**:如果字符串长度大于等于2,则通过递归调用 `reverseString(x.substring(1, x.length()))` 来反转除第一个字符外的所有字符,并将第一个字符添加到递归调用的结果末尾。 #### 四、递归过程详解 ...
最常用的是`string.Reverse()`,但这不是直接应用于字符串的,而是用于数组。因此,我们可以将字符串转换为字符数组,然后使用此方法: ```csharp using System; public class Program { public static void Main...
第二种方法是将字符串转换为字符数组,然后利用`Array.Reverse()`方法对数组中的元素进行反转。这种方法更简洁,且效率较高,因为它是内置的系统函数。 ```csharp using System; class Program { static void ...
从键盘输入字符串,用函数void reverse(char *source)通过递归法实现字符串逆序.
`<algorithm>`头文件包含一些适用于字符串的操作,如`std::sort()`、`std::reverse()`等。 7. **字符串与I/O流** `std::cout`可以直接输出`std::string`对象,而`std::cin`可以通过插入器`>>`读取字符串,但如前所...
"Reverse&Replace 字符串加密解密"的主题涉及到两个关键的字符串处理函数:`Reverse`和`Replace`,它们在加密和解密过程中扮演着重要角色。这两个函数在黑客技术中也常被用来实现各种安全目的,比如隐藏信息、保护...
- **反转(Reverse)**:将字符串中的字符顺序颠倒。 - **格式化(Format)**:根据模板和参数生成格式化的字符串。 在实际开发中,为了提高性能和避免内存问题,我们还需要关注字符串处理的效率。例如,频繁的字符...
标题中的“nixu.rar_Reverse_字符串 逆序”表明这是一个关于字符串逆序操作的教程或代码集合,可能是用汇编语言实现的。在计算机编程中,字符串逆序是一种常见的任务,它涉及到将字符串中的字符顺序反转。这在很多...
第二个程序定义了一个reverse函数,该函数使用指针p来实现字符串的反转,并使用temp变量来交换字符串中的字符。 知识点总结 1. C语言中的指针是一种数据类型,用于存储内存中的地址。 2. 在C语言中,字符串可以...
在Java中,可以使用StringBuilder或StringBuffer类的reverse()方法来反转字符串: ```java String strInput = "abcdef"; StringBuilder sb = new StringBuilder(strInput); String strReversed = sb.reverse()....