alibaba 算法一面p7-高德(20220323)算法括号闭合问题
Posted 史上最强的弟子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了alibaba 算法一面p7-高德(20220323)算法括号闭合问题相关的知识,希望对你有一定的参考价值。
import java.util.*;
public class Main1
private Map<Character,Character> map = new HashMap<>();
private Set<Character> set = new HashSet<>();
Main1()
map.put('(',')');
map.put('','');
map.put('[',']');
set.add('');
set.add(']');
set.add(')');
public boolean check(String str)
Stack<Character> stack = new Stack<>();
Boolean flage = true;
for(Character c:str.toCharArray())
if(map.containsKey(c))
stack.push(c);
continue;
if(set.contains(c))
if(stack.isEmpty())
flage = false;
break;
Character character = stack.pop();
if(character == null)
flage = false;
break;
if(!Objects.equals(map.get(character),c))
flage = false;
break;
if(stack.size() !=0)
flage = false;
return flage;
public static void main(String[] args)
Main1 main1 = new Main1();
Boolean flag = main1.check("");
System.out.println(flag);
Boolean flag2 = main1.check("");
System.out.println(flag2);
Boolean flag3 = main1.check("]");
System.out.println(flag3);
Boolean flag4 = main1.check("[");
System.out.println(flag4);
Boolean flag5 = main1.check("[]");
System.out.println(flag5);
Boolean flag6 = main1.check("asdasdasd[asdasdasd]");
System.out.println(flag6);
Boolean flag7 = main1.check("");
System.out.println(flag7);
输出结果:
原理很简单,但是有一些边界条件需要注意。
以上是关于alibaba 算法一面p7-高德(20220323)算法括号闭合问题的主要内容,如果未能解决你的问题,请参考以下文章
alibaba 算法一面p7-高德(20220323)算法括号闭合问题
招聘内推阿里高德地图招聘应用算法专家(P7,含推荐算法方向)
阿里P7架构师爆出!内部最新面试题Spring Cloud Alibaba思维导图,还不来白嫖学习!