剑指offer:栈的压力、弹出序列

来源:互联网 发布:matlab读取字符串数组 编辑:程序博客网 时间:2024/05/29 10:58

剑指offer:面试题22

判断栈的压力和弹出顺序

import java.util.Scanner;import java.util.Stack;public class IsPopOrder {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubScanner scan = new Scanner(System.in);String pushorder = scan.nextLine();String poporder = scan.nextLine();IsPopOrder ipo = new IsPopOrder();boolean result = ipo.ispoporder(pushorder, poporder);System.out.println(result);}public boolean ispoporder(String pushorder, String poporder) {if (pushorder.length() != poporder.length())return false;if (pushorder == null || pushorder.length() == 0)return false;boolean result = false;Stack<Character> stack = new Stack<Character>();int n = 0;int i = 0;while (i != poporder.length()) {if (stack.size() == 0||stack.peek() != poporder.charAt(i)) {if(n==poporder.length()){break;}stack.push(pushorder.charAt(n));n++;} else {stack.pop();i++;}}if (stack.size() != 0) {result = false;} else {result = true;}return result;}}


0 0
原创粉丝点击