Java實現字串中的連續數字的反轉

2021-07-05 17:48:42 字數 883 閱讀 6253

示例:"1abc123abc123"  處理之後為  "1abc321abc321"

思路:1、將字串轉化為陣列

2、 依次找出乙個連續數字串的頭尾下標

3、找到一組頭尾下標後就執行一次swap(char ch, int start, int end),這個函式的作用是使陣列ch,

索引start~end的範圍內元素反轉。

4、這樣執行一次後,繼續找下一組,直到結束

public class 把字串中的數字反轉 

}

/* *string轉化為陣列,for迴圈依次一組連續數字一組連續數字的找,找到一次交換一次。

*/public static string fun(string string)

//@1

if (!flag)//@3

}else

//@2

}} return new string(ch);

} public static void main(string args)

}

這裡主要講解一下fun(string)函式,一組數字頭尾的求法,及@3處的特例:

其中的順序:start→end→swap(ch,start,end),這裡用flag作為求start和end的同步訊號,初始為true,先求start。

@1:遇到第乙個數字,把 i 值儲存到start,flag置false,這樣i++後start的值才不會改變。

@2:連續數字走完後,遇到第乙個非數字,把 i-1 儲存到end,這樣一組求出,執行swap(),

然後及時flag置true,求下一組。

@3就是應付這種情況的。

字串中連續最長的數字字串

輸入 乙個含有數字的字串 輸出 字串中連續最長的數字字串。例如 輸入 a12ab123park12345 輸出 12345法一 include void my strcpy char num,char p,int len 字串複製法一 void my strcpy char str,char ptr...

aoti 實現字串轉數字(Java)

實現atoi,將字串轉為整數。該函式首先根據需要丟棄任意多的空格字元,直到找到第乙個非空格字元為止。如果第乙個非空字元是正號或負號,選取該符號,並將其與後面盡可能多的連續的數字組合起來,這部分字元即為整數的值。如果第乙個非空字元是數字,則直接將其與之後連續的數字字元組合起來,形成整數。字串可以在形成...

字串中找出連續最長的數字串

最近看到了一道好未來的程式設計面試題,過年,加上最近家裡生了一些事,很久沒敲 了,練練手。基礎最重要。題目描述 讀入乙個字串str,輸出字串str中的連續最長的數字串 輸入描述 個測試輸入包含1個測試用例,乙個字串str,長度不超過255。輸出描述 在一行內輸出str中里連續最長的數字串。輸入例子 ...