【栈】【20. 有效的括号】【简单】

  • 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。

  • 有效字符串需满足:
    左括号必须用相同类型的右括号闭合。
    左括号必须以正确的顺序闭合。
    注意空字符串可被认为是有效字符串。

      示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出: false示例 4:输入: "([)]"输出: false示例 5:输入: "{[]}"输出: true
    

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/valid-parentheses
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

  • 个人题解:

    • 遍历字符串{
      • 若为左括号:{
        将左括号入栈;
        }
      • 若为右括号:{
        若栈为空返回false;
        弹出栈顶元素,若不是相应的右括号,则返回false;
        }

    }
    遍历结束若栈中无元素则返回true;

  • 个人代码:

public class Solution {public bool IsValid(string s) {Dictionary<char, char> doc = new Dictionary<char, char>();doc.Add('(',')');doc.Add('[', ']');doc.Add('{', '}');Stack<char> stack = new Stack<char>();for (int i = 0; i < s.Length; i++){char c = s[i];if(doc.ContainsKey(s[i]))stack.Push(s[i]);else{if(stack.Count==0) return false;char left = stack.Pop();if(c!=doc[left])return false;               }}return stack.Count==0;}
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部