LeetCode:匹配有效括号(C语言)

示例 1:

输入:s = "()" 输出:true

示例 2:

输入:s = "()[]{}" 输出:true

示例 3:

输入:s = "(]" 输出:false

分析:

左边进栈,右边出栈

括号是成对出现,所以不能出现奇数情况

当是左括号时,要对括号进行匹配

栈顶元素为0或者左右不等的情况下返回false


/**
左括号进栈
右括号出栈
*/ 

// 1、设置3种括号
char SetKuoHao(char a){
    if(a=='(') return ')';
    if(a=='[') return ']';
    if(a=='{') return '}';
    return NULL;
}

// 2、检查是否左右匹配
bool isValid(char* s) {
    // 设置栈顶元素
    int top=0;
    if(strlen(s)%2!=0) return false;
    for (int i = 0; i

你可能感兴趣的:(leetcode,c语言)