小q最近遇到了乙個難題:把乙個字串的大寫字母放到字串的後面,各個字元的相對位置不變,且不能申請額外的空間。
你能幫幫小q嗎?
輸入描述:
輸入資料有多組,每組包含乙個字串s,且保證:1<=s.length<=1000.
輸出描述:
對於每組資料,輸出移位後的字串。
輸入例子:
aklebiceild
輸出例子:
kleieilabcd
題意分析:在不申請多餘記憶體的情況下,達到把小寫字母放在前面,大寫字母放在後面,大(小)寫字母的相對位置不能發生變化。
難點就在於不能申請多餘的記憶體空間,在移位的時候,採用從後往前遍歷,找到大寫字母以後就向後移動,在此之前要先把後面的字母都統一向前移動,移動的數量取決於當前移動的字母數量以及後面的字母總數,具體的看**。
#include #include #include #include using namespace std;
int main()
}cout << a << endl;
}return 0;
}
程式設計題 演算法基礎 字元移位
小q最近遇到了乙個難題 把乙個字串的大寫字母放到字串的後面,各個字元的相對位置不變,且不能申請額外的空間。你能幫幫小q嗎?輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組資料,輸出移位後的字串。輸入例子 aklebiceild 輸出例子 kle...
程式設計題 演算法基礎 字元移位
程式設計題 演算法基礎 字元移位 時間限制 1秒 空間限制 32768k 小q最近遇到了乙個難題 把乙個字串的大寫字母放到字串的後面,各個字元的相對位置不變,且不能申請額外的空間。你能幫幫小q嗎?輸入描述 輸入資料有多組,每組包含乙個字串s,且保證 1 s.length 1000.輸出描述 對於每組...
算術移位邏輯移位
unsigned int i 8 int main 請問 上面的變數i是採用邏輯移位還是算術移位呢?邏輯移位,簡單理解就是物理上按位進行的左右移動,兩頭用0進行補充,不關心數值的符號問題。算術移位,同樣也是物理上按位進行的左右移動,兩頭用0進行補充,但必須確保符號位不改變。邏輯移位是指邏輯左移和邏輯...