[面试编程题]算法基础-字符移位
2016-07-24 14:40
573 查看
错误代码
#include<iostream> #include<string> using namespace std; bool isLow(char c) { if( (c>='A') && (c<='Z')) return false; else return true; } bool isCap(char c) { return !isLow(c); } int main() { string s; while(cin>>s) { int n=s.size(); int l=0,r=n-1; while(l<r) { while(r>=0 && isCap(s[r])) r--;//r最右边的一个小写字母 while(l<=n-1 && isLow(s[l])) l++;//l指向最左边的大写字母 if(l<r) swap(s[l],s[r]); else break; } cout<<s<<endl; } }
测试用例
测试用例: hxKLAGLLzPyTxsFsrUnnSKQBHdQQrOyaEYJRgiJbHIDXFcQkFmIhPNKIBfHxXDBdKAvgZiBLVwnlxJAHmttsSJkZhSmQneNVoKoIYZRjPqsrFFaaqZbyNyeRjVKVFrCGdfycidTqbyQcpAtdRGzzBAaKoqybWMOyhrCQdwcRwQQpQavTnAbjriVwxJOrTYJVGYSWzKYeNAGqBzkJLucabNYvyVFxAGKLfqHXNttaqZfncEdTroGMzZnDbvZBBaRbJvuYIvlWrKaaGrvtyxrsCUOqxdwCrmVEeDrLKZKFJVRmrLsmbmOGUJyfdZIrFhuSwJQGRTYMLxKQNMaCavatlQIRZmFQvyWgQTVENxUcPKQCaUQbjyfaNuwoNdTBNldgrtPUcQodqsuJOdDpUczJWCZaasDdEYJkvituMHrCmZQSlRjIefVisatIUtfxBeKnHPyvWUKzRliFsYWgeXogiEgXDbfxAybwFuqFyEvjfIHEPDPKqEiGUtZhdDIDBGKpvBFyqHeEEhAToAbqHEpIdIhIGBtWjGHiQRctZxQQYkfFoWUbqZyIcjRPQBilHrnqNBzFmoRUYCSrGkawJCcOrMceegISpIpSGVjbngWVMTYtGoAlQFPFyOFAxndJZNfKDTwFIxisKTjyjchidXpYgLfoBOLriuIAHmAbQwoHBgbdUYBHlDQGZJASsHszOEPthLVnYbNqWegmONexfdsTVYHgtDmlyugefOBsqmgNDBoxkkhVHfvrYooVOyxDJQJLjYSngksbTopoPJFsKQzHePLukXyYTYCeW 对应输出应该为: hxzyxssrnndryagibckmhfxdvgiwnlxmttskhmneoojqsraaqbyyejrdfycidqbycptdzzaoqybyhrdwcwpavnbjriwxrzeqzkucabvyxfqttaqfncdroznbvabvuvlraarvtyxrsqxdwrmermrsmbmyfdrhuwxaavatlmvygxcabjyfauwodldgrtcodqsudpczaasdkviturmljefisattfxenyvzlisgeogigbfxybwuqyvjfqithdpvyqehobqpdhtjictxkfobqycjilrnqzmorkawcrceegppjbngtolyxndfwxisjyjchidpgforiumbwogbdlsszthnbqegmexfdsgtmlyugefsqmgoxkkhfvrooyxjngksboposzeukyeKLAGLLPTFUSKQBHQQOEYJRJHIDXFQFIPNKIBHXDBKAZBLVJAHSJZSQNVKIYZRPFFZNRVKVFCGTQARGBAKWMOCQRQQQTAVJOTYJVGYSWKYNAGBJLNYVFAGKLHXNZETGMZDZBBRJYIWKGCUOCVEDLKZKFJVRLOGUJZIFSJQGRTYMLKQNMCQIRZFQWQTVENUPKQCUQNNTBNPUQJODUJWCZDEYJMHCZQSRIVIUBKHPWUKRFYWXEXDAFFEIHEPDPKEGUZDIDBGKBFHEEATAHEIIIGBWGHQRZQQYFWUZIRPQBHNBFRUYCSGJCOMISISGVWVMTYGAQFPFOFAJZNKDTFIKTXYLBOLIAHAQHBUYBHDQGZJASHOEPLVYNWONTVYHDOBNDBVHYVODJQJLYSTPJFKQHPLXYTYCW 你的输出为: hxeykuezzsyoxspsronnbskgndjxryyaoorvgifbhkkxocgkmmqhsfegufyxlmtdgsvgdifxewnlxmgemttsqbknhhmtnezsosoldbgjoqsrwbaaqmbyuyeijrofgrpddfycidiqbyhcpctdjyzzjsaioqybxwfyhrdndwcxwylpoavtngbjrinwxbjrppgeecrczwaekroqmzkzqucabnrvylixjcyqfqbofttaqkfncxdtrocizjntbvhdpaqbbvuohvlerqaayrvtyxrsvpdqxdwhrmtieqrfjvyquwbmrysmbmxfbgyfdigrohuewgsilzvynxexftatavatlasifmejvylgmrutixvckdsaaazbjyfacuwopddusldgrtqdcoQUPNBJOTDNUNQJWCZUCQDKEYJPUNEVMHTCQZQSWRQIFZVRIQCIUMNQBKKLHPMYWUKTRRGFQYWJSXFIZEJXDUGOALRVFJFFKEZKLIHEPDPKDEEGUVZCODIDBGKUCBFGKHWEEIATYAJRHEBIBIZIGBDWZGHMQRGTZEQQYZNFXWUHLZKIGARPQBFVHYNLNBJFBGRUYCSAGNYKJCWOSMYGVJISYITSGVOJVAWVMTYTGQAQQFPFQOFARQCJZNOKDTMFIWKAKTBGRAQTGXCYFLVKBOLVRNIAHZAFQFPHBRZYUYBHIDQGZJASKHVNOEPQSLVZYJNSWHAJONVLBZATVYHKBDDXHBIKNOBPIFQNDBFXDIHVHJRJYYEVOOQDJQJLQYSHBQKSTUFTPJFPKQLHLPLGAXLYTYCKW
相关文章推荐
- [面试编程题1]构造回文
- Java多线程面试问题
- 我要做一个什么样的程序员
- 校招季--献给前端求职路上的你们(JS)
- 每天工作4小时的程序员感悟
- 日后不做程序员了,还可以去修推拉门。
- 国内一线互联网公司内部面试题库
- Java程序员应该了解的第三方工具
- 校招季--献给前端求职路上的你们(个人面试经历分享)
- 编程是可以从事一生的职业吗
- 校招季--献给前端求职路上的你们(H5+C3)
- 程序员最艰巨的十大任务
- Pathon 【iOS程序员如何用Pathon写爬虫】
- 2011程序员薪资调查报告全文发布
- 一个程序员的一生
- 从程序员到软件设计师
- 作为程序员,要取得非凡成就需要记住的15件事
- 未来五年程序员应当具备的十项技能
- 面试题收集
- 经典算法面试题目-判断两个字符串是否是变位词(1.4)