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

牛群的秘密通信

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

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return bool布尔型
     */
    public boolean is_valid_cow_communication (String s) {
        // write code here
        Stack<Character> st = new Stack<>();
        char[] arr = s.toCharArray();
        st.push(arr[0]);
        int i = 1;
        while(!st.isEmpty() && i < arr.length){
		  // 在栈不为空且还有元素未入栈的情况下,如果栈顶元素与当前元素匹配就让栈顶元素出栈,完成匹配
            while(i < arr.length && !st.isEmpty() && check(st.peek(), arr[i])){
                st.pop();
                i++;
            }
		  // 否则,让当前元素入栈
            if(i < arr.length)st.push(arr[i++]);
        }
        return st.isEmpty();
    }
    private boolean check(char a, char b){
        if(a == '(' && b == ')' || a == '{' && b == '}' || a == '[' && b == ']')
            return true;
        else return false;
    }
}

全部评论

相关推荐

07-15 14:14
门头沟学院 Java
7.10投递7.15感谢信
投递地平线等公司7个岗位
点赞 评论 收藏
分享
点赞 评论 收藏
分享
06-15 02:05
已编辑
南昌航空大学 数据分析师
Eason三木:你如果想干技术岗,那几个发公众号合唱比赛的经历就去掉,优秀团员去掉,求职没用。然后CET4这种不是奖项,是技能,放到下面的专业技能里或者单独列一个英语能力。 另外好好改改你的排版,首行缩进完全没有必要,行间距好好调调,别让字和标题背景黏在一起,你下面说能做高质量PPT你得展现出来啊,你这简历排版我用PPT做的都能比你做的好。 然后自我评价,你如果要干数据工程师,抗压能力强最起码得有吧。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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