Leetcode1694. 重新格式化电话号码[C++题解]:字符串模拟题
生活随笔
收集整理的這篇文章主要介紹了
Leetcode1694. 重新格式化电话号码[C++题解]:字符串模拟题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 題目分析
- 題目鏈接
題目分析
數(shù)據(jù)量字符串長100.
思路: 清除空格和破折號; 三個組的個數(shù)t,余數(shù)mod;使用substr()函數(shù)處理即可。
ac代碼
class Solution { public:string reformatNumber(string number) {string s;for(auto c:number){ //清除掉空格和破折號if(c!=' '&& c!='-')s+=c;}string res;int t=s.size()/3,mod=s.size() %3; //t是3個組的個數(shù), mod表示最后剩下幾位if(mod==1) t--,mod=4;int i=0;while(t--) {res+=s.substr(i,3)+'-';i+=3;}if(mod==0) res.pop_back();//清除最后1個‘-’if(mod==2){res+=s.substr(i,2);}if(mod==3)res+=s.substr(i,3);if(mod==4){res+=s.substr(i,2)+'-'+s.substr(i+2);}return res;} };題目鏈接
Leetcode1694. 重新格式化電話號碼
總結(jié)
以上是生活随笔為你收集整理的Leetcode1694. 重新格式化电话号码[C++题解]:字符串模拟题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通用工具之Pair和Tuple-《C++
- 下一篇: Leetcode1695. 删除子数组的