華為OD機(jī)試-- 一種字符串壓縮表示的解壓

有一種簡易壓縮算法:針對全部為小寫英文字母組成的字符串,將其中連續(xù)超過兩個相同字母的部分壓縮為連續(xù)個數(shù)加該字母,其他部分保持原樣不變。 例如字符串a(chǎn)aabbccccd 經(jīng)過壓縮變成字符串 3abb4cd 請您編寫解壓函數(shù),根據(jù)輸入的字符串, 判斷其是否為合法壓縮過的字符串 若輸入合法則輸出解壓縮后的字符串 否則輸出字符串!error來報告錯誤
輸入描述:
輸入一行,為一個 ASCII 字符串 長度不超過100字符 用例保證輸出的字符串長度也不會超過100字符串
輸出描述:
若判斷輸入為合法的經(jīng)過壓縮后的字符串 則輸出壓縮前的字符串 若輸入不合法 則輸出字符串!error
示例1:
輸入:
4dff
輸出
ddddff
說明
4d擴(kuò)展為dddd,故解壓后的字符串為ddddff.
?
示例2:
輸入:
2dff
輸出
!error
說明
兩個d不需要壓縮,故輸入不合法
示例3:
輸入:
4d@A
輸出
!error
說明
全部由小寫英文字母組成的字符串壓縮后不會出現(xiàn)特殊字符@和大寫字母A,故輸入不合法。
Java 實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/131677963
Python實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/131678319
C++ 實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/131678352
JavaScript實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/131678291
C實(shí)現(xiàn):https://renjie.blog.csdn.net/article/details/129190260