简单的面试题
2015-09-03 21:00
253 查看
实现一个算法确定一个字符串中所有的字符串是否都不相同,假设不允许使用额外的数据结构
一般的解法是如下:
#include<iostream>
using namespace std;
bool noSame(const char* c_str)
{
bool flat = true;
if (*c_str == NULL || *(c_str + 1) == NULL)
return true;
else
{
do{
const char* c_cur = c_str+1;
while (*c_cur != NULL)
{
if (*c_cur == *c_str)
{
flat = false;
break;
}
++c_cur;
}
if (flat == false)
break;
} while (*(++c_str) != NULL && *(c_str + 1) != NULL);
}
return flat;
}
int main()
{
const char* c_str = "ajksda";
if (noSame(c_str))
cout << "Yes" << endl;
else
cout << "No" << endl;
int a;
cin >> a;
return 0;
}
一般的解法是如下:
#include<iostream>
using namespace std;
bool noSame(const char* c_str)
{
bool flat = true;
if (*c_str == NULL || *(c_str + 1) == NULL)
return true;
else
{
do{
const char* c_cur = c_str+1;
while (*c_cur != NULL)
{
if (*c_cur == *c_str)
{
flat = false;
break;
}
++c_cur;
}
if (flat == false)
break;
} while (*(++c_str) != NULL && *(c_str + 1) != NULL);
}
return flat;
}
int main()
{
const char* c_str = "ajksda";
if (noSame(c_str))
cout << "Yes" << endl;
else
cout << "No" << endl;
int a;
cin >> a;
return 0;
}
相关文章推荐
- 面试注意事项
- 作为程序员最应该投资的是这十件事
- 面试热问——你在前一份工作(实习)学到什么?
- 第一部分、十道海量数据处理面试题
- 四种进程或线程同步互斥的控制方法
- 剑指offer——面试题40:数组中只出现一次的数字
- 面试题_64——数据流中的中位数
- 华为Java面试题目总结
- JAVA面试(未完)
- 黑马程序员——面向对象(继承)-第17天
- 10个帮程序员减压放松的网站
- leetcode刷题-Integer to English Words
- 剑指offer——面试题39:扩展问题判断一个树是否是平衡二叉树(递归)
- 腾讯后台开发面试题--整理1
- 【面试】蘑菇街产品运营二面&结果
- 程序员如何在"小公司成长"和"大公司学习"
- 【阿里笔试+蘑菇街面试】向来缘浅,奈何情深
- 一名程序员的自我修养
- 程序员方阵~
- 剑指offer——面试题39:二叉树的深度(递归二叉树,广度优先搜索)