首页 > 代码库 > careercup-1.1
careercup-1.1
1.1 实现一个算法,确定一个字符串的所有字符是否全部不同。假设不允许使用额外的数据结构,又该如何处理?
C++实现:
#include<iostream>#include<string>#include<cstring>using namespace std;/*判断是否有重复字符*/bool unqString(string s){ if(s.empty()) return true; int n=s.length(); int word[256]={0}; int i; for(i=0;i<n;i++) word[s[i]]++; for(i=0;i<n;i++) if(word[s[i]]>1) return false; return true;}int main(){ string str="asdhfdsf"; cout<<unqString(str)<<endl;}
使用关联容器set:
#include<set>#include<string>using namespace std;bool unqString(string s){ set<char> st; if(s.empty()) return false; size_t i; for(i=0;i<s.length();i++) st.insert(s[i]); if(st.size()!=s.length()) return false; else return true;}int main(){ string str="asdhf"; cout<<unqString(str)<<endl;}
careercup-1.1
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。