【剑指offer】面试题31:栈的压入、弹出序列(Java)
发布日期:2021-04-30 21:05:24 浏览次数:120 分类:精选文章

本文共 1833 字,大约阅读时间需要 6 分钟。

????????????????????????????????????????????????????????????????????????

????

???????????????????????????

  • ?????
  • ????????????????????
  • ?????????????????????????????????????????????????????false?
  • ?????????????????????????false?
  • ?????????????????????
  • ????

    import java.util.Stack;
    public class Solution {
    public boolean validateStackSequences(int[] pushed, int[] popped) {
    if (pushed.length != popped.length) {
    return false;
    }
    Stack
    stack = new Stack<>();
    int i = 0, j = 0;
    // ???????????????
    while (i < pushed.length) {
    stack.push(pushed[i]);
    i++;
    // ?????????
    if (j < popped.length) {
    if (stack.peek().equals(popped[j])) {
    stack.pop();
    j++;
    } else {
    // ????????????????
    if (i > 0 && popped[j] == pushed[i - 1]) {
    stack.pop();
    j++;
    } else {
    // ?????????
    return false;
    }
    }
    }
    }
    // ?????????
    while (j < popped.length) {
    if (stack.isEmpty()) {
    return false;
    }
    if (stack.peek() != popped[j]) {
    return false;
    }
    stack.pop();
    j++;
    }
    return true;
    }
    }

    ????

  • ??????????????????????????????i?j??????????????
  • ???????????????????????????????????????????????????????????????????j?
  • ??????????????????????????????????????????????????????j??????false?
  • ??????????????????????????????????????????????????????????????j??????false?
  • ?????????????????????true??????false?
  • ???????????????????????????????????????????

    上一篇:Python学习:Django开发_02
    下一篇:SpringMVC(一)

    发表评论

    最新留言

    第一次来,支持一个
    [***.219.124.196]2026年06月05日 00时40分07秒