这是leetcode上的问题
给定仅包含字符'(',')','{','}','['和']'的字符串,请确定输入字符串是否有效。
括号必须以正确的顺序闭合,“()”和“()[] {}”都是有效的,而“(]”和“([]]”则无效。
这是一个解决方案:
class Solution {
public:
bool isValid(string s) {
stack<char> paren;
for (char& c : s) {
switch (c) {
case '(':
case '{':
case '[': paren.push(c); break;
case ')': if (paren.empty() || paren.top()!='(') return false; else paren.pop(); break;
case '}': if (paren.empty() || paren.top()!='{') return false; else paren.pop(); break;
case ']': if (paren.empty() || paren.top()!='[') return false; else paren.pop(); break;
default: ; // pass
}
}
return paren.empty() ;
}
};
Run Code Online (Sandbox Code Playgroud)
这是另一个解决方案:
class Solution { …Run Code Online (Sandbox Code Playgroud) 我想在禁用时隐藏按钮的边框.当它启用时,我设置边框如下:
_btnInit.layer.borderWidth = 1;
_btnInit.layer.borderColor = [[UIColor grayColor]CGColor];
Run Code Online (Sandbox Code Playgroud)
就像在图片中一样.左侧处于禁用状态,右侧处于正常状态.