mirror of
				https://git.wolves.top/wolves/leetcode.git
				synced 2025-11-04 09:16:32 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			40 lines
		
	
	
		
			864 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
		
			864 B
		
	
	
	
		
			C
		
	
	
	
	
	
//
 | 
						|
// Created by 李洋 on 2024/6/23.
 | 
						|
//
 | 
						|
 | 
						|
#ifndef LEETCODE_C_520_CPP
 | 
						|
#define LEETCODE_C_520_CPP
 | 
						|
 | 
						|
#include <stdlib.h>
 | 
						|
#include "ctype.h"
 | 
						|
#include "stdbool.h"
 | 
						|
#include "string.h"
 | 
						|
 | 
						|
char *toLowerCase(const char *str) {
 | 
						|
    char *result = (char *) malloc(sizeof(char) * strlen(str));
 | 
						|
    for (int i = 0; i < strlen(str); i++) {
 | 
						|
        result[i]= tolower(str[i]);
 | 
						|
    }
 | 
						|
    return result;
 | 
						|
}
 | 
						|
 | 
						|
// 通过数值判断
 | 
						|
bool detectCapitalUse(char *word) {
 | 
						|
    char *lower = toLowerCase(word);
 | 
						|
    int count = 0;
 | 
						|
    for (int i = 0; i < strlen(word); ++i) {
 | 
						|
        count += lower[i] - word[i];
 | 
						|
    }
 | 
						|
    int interval = 'a' - 'A';
 | 
						|
    if ((count == interval && word[0] >= 'A' && word[0] <= 'Z') || count == interval * strlen(word) || count == 0) {
 | 
						|
        return true;
 | 
						|
    }
 | 
						|
    return false;
 | 
						|
}
 | 
						|
 | 
						|
bool run() {
 | 
						|
    return detectCapitalUse("USA");
 | 
						|
}
 | 
						|
 | 
						|
#endif //LEETCODE_C_520_CPP
 |