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。這是最常考的,原地逆序意味著不允額外分配空間,主要有以下幾種方法,思想都差不多...