示例:"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中里連續最長的數字串。輸入例子 ...