字串逆序

2021-06-16 22:43:40 字數 681 閱讀 2748

reverse(int* arr, int b, int e)
}
rightshift(int* arr, int n, int k)

abc defg-->defg abc

方法一:翻轉

abc defg ==>cba gfed

cba gfed==>defg abc經過三次翻轉;**如上。

方法二:交換加翻轉

abc defgh ==> def abc gh

def abcgh==> def gh c ab

defgh c ab ==>defgh a cb

defga cb==>defga bc

就是將前面能直接交換資料的先交換,最後在對餘下的資料進行翻轉**如下:

void reversetheend(int *a,int number,int k ,int n){

int temp = k;

int num;

int space = n-number-k;

while((space!=0)){

if(temp>space){

for(int i=0;i

字串 字串逆序

題目一 如果乙個字串 str 把字串 str 前面的任意部分挪到後面去形成的字串叫做 str 的旋轉詞。比如 str 1234 那麼 str 的旋轉詞有 1234 2341 3412 4123 給定兩個字串 a 和 b 請判斷 a 和 b 是否互為旋轉詞?舉例 a cdab b abcd 返回 tr...

字串逆序

1 方法1 protected void page load object sender,eventargs e 1.逆序乙個字串 public string reversestr return s1 2 方法2 public void reversestr 方法3 protected void p...

字串逆序

基本上沒有這麼考的,放在這裡主要是為了和後面的原地逆序做個對比。很簡單,直接分配乙個與原字串等長的字元陣列,然後反向拷貝一下即可。char reverse char s 原地逆序 英文叫做in place reverse。這是最常考的,原地逆序意味著不允額外分配空間,主要有以下幾種方法,思想都差不多...