Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Stack;
- class MyCode{
- public static void main(String[] args) {
- System.out.println("(a[0]+b[2c[6]]) {24 + 53} passed:" + parensMatch("(a[0]+b[2c[6]]) {24 + 53}"));
- System.out.println("f(e(d)) passed:" + parensMatch("f(e(d))"));
- System.out.println("[()]{}([]) passed:" + parensMatch("[()]{}([])"));
- System.out.println("((b) passed:" + !parensMatch("((b)"));
- System.out.println("(c] passed:" + !parensMatch("(c]"));
- System.out.println("{(a[]) passed:" + !parensMatch("{(a[])"));
- System.out.println("([)] passed:" + !parensMatch("([)]"));
- System.out.println(")( passed:" + !parensMatch(")("));
- System.out.println(" (empty) passed:" + parensMatch(""));
- }
- public static boolean parensMatch(String sentence){
- List<Character> expected = new ArrayList<Character>();
- for (Character letter : sentence.toCharArray()){
- if (expected.contains(letter)){
- if (expected.get(expected.lastIndexOf(letter)).equals(expected.get(expected.size()-1)))
- expected.remove(expected.lastIndexOf(letter));
- else break;
- }
- if (letter=='(') expected.add(')');
- else if (letter=='[') expected.add(']');
- else if (letter=='{') expected.add('}');
- }
- return expected.isEmpty();
- }
- }
Add Comment
Please, Sign In to add comment