1. 程式人生 > >給出兩個字串a和b,判斷字串a是否包含字串b

給出兩個字串a和b,判斷字串a是否包含字串b

題目一

給出兩個字串a和b,例如 a=”ABJKI“, b=“JK”,則 a 包含 b 。

下面的方法很巧妙啊。


題目二:

實現一個演算法來判斷一個字串中的字元是否唯一(即沒有重複).

思想就是延續上一題的思想,具體程式碼如下:

bool isUnique(string& str)
{
	int a[8] = {0};
	int len = str.length();
	for (int i = 0; i < len; i++)
	{
		int v = (int)str[i];
		int idx = v / 32, shift = v % 32;
		int b = a[idx] & (1 << shift);
		if (b != 0)
			return false;
		a[idx] |= (1 << shift);
	}
	return true;
}