java Stack类使用

来源:互联网 发布:编程培训周末班 编辑:程序博客网 时间:2024/05/16 11:46

由import java.util.Stack ;导入

这里写图片描述

peek方法也是出栈操作,也是返回栈顶元素,但是它不移除元素,不像pop方法,每使用一次就将栈顶元素移除。

应用例题:
括号配对问题
描述
现在,有一行括号序列,请你检查这行括号是否配对。
输入
第一行输入一个数N(0

import java.util.Scanner;  import java.util.Stack;  public class Main {      public static void main(String[] args) {          Scanner scan = new Scanner(System.in);          int N = scan.nextInt();          String s;          for (int i = 0; i < N; i++) {              s = scan.next();              if (isMatch(s)) {                  System.out.println("Yes");              } else {                  System.out.println("No");              }          }      }      private static boolean isMatch(String s) {          Stack<Character> sk = new Stack<Character>();          for (int i = 0; i < s.length(); i++) {              if (s.charAt(i) == '(') {                  sk.push('(');              }              if (s.charAt(i) == ')') {                  if (!sk.isEmpty() && sk.pop() == '(')                      continue;                  else                      return false;              }              if (s.charAt(i) == '[') {                  sk.push('[');              }              if (s.charAt(i) == ']') {                  if (!sk.isEmpty() && sk.pop() == '[')                      continue;                  else                      return false;              }          }          if (sk.isEmpty())              return true;          else              return false;      }  }          
0 0
原创粉丝点击