문자열이 고유한지 판단

9617 단어 활용단어참조
/*
        s1   s2,       ,                 ,          。

   1:

  : s1 = "abc", s2 = "bca"
  : true 
   2:

  : s1 = "abc", s2 = "bad"
  : false
  :

0 <= len(s1) <= 100
0 <= len(s2) <= 100
*/
/*
  :
1、   anscii 128 ,  128                 ;
2、       ,        ,       ;
3、        false,              ;
*/


#include 
#include 
#include 

bool isUnique(char* astr) {
	int len;
	unsigned char bits[128]={0};
	int i;
	int index;
	
	if (!astr){
        return false;
	}
	
	len = strlen(astr);
	for (i = 0; i < len; i++) {
		index = astr[i];
		if (bits[index] == 1) {
			return false;
		}
		bits[index] = 1;
	}
	
	return true;
}

int main(){
	char str[128]={0};
	
	while(1){
		memset(str,0,sizeof(str));
		fgets(str,sizeof(str),stdin);
		printf("result:%d\r
"
,isUnique(str)); } return 0; }
/*
      ,        s            。
   1:
  : s = "leetcode"
  : false
   2:
  : s = "abc"
  : true
  :
0 <= len(s) <= 100
             ,    。
 */
package main

import "fmt"

func isUnique(astr string) bool {
	bits := make([]byte,128)

	for _, v := range astr{
		if bits[v] == 1{
			return false
		}
		bits[v] = 1
	}

	return true
}

func main(){
	var str string
	for{
		_,err := fmt.Scanln(&str)
		if err != nil{
			fmt.Println("input error :", err)
			return
		}
		fmt.Println("result:",isUnique(str))
	}
}

좋은 웹페이지 즐겨찾기