题解 | #牛群的秘密通信#

牛群的秘密通信

https://www.nowcoder.com/practice/f0047999594d4cd39f85d7347c6941af

题目考察的知识点 : 栈的使用

题目解答方法的文字分析:

当为左括号时,直接压入栈中即可.
当为右括号时,需进行判断:
	当栈为空时,返回false
    当栈顶部元素匹配时,将栈顶元素弹出
    若不匹配直接返回false
    最后判断栈内是否有左括号剩余,有则返回false

本题解析所用的编程语言: java

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return bool布尔型
     */
    public boolean is_valid_cow_communication (String s) {
        // write code here
        Stack<Character> stack = new Stack<>();
        for(char r:s.toCharArray()){
            if(r == '{' || r == '[' || r == '('){
                stack.add(r);
            }else if(stack.isEmpty()){
                return false;
            }else if(r == '}' && stack.peek() == '{'){
                stack.pop();
            }else if(r == ']' && stack.peek() == '['){
                stack.pop();
            }else if(r == ')' && stack.peek() == '('){
                stack.pop();
            }else {
                return false;
            }
        }
        if(!stack.isEmpty()) return false;
        return true;
    }
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务