輸入兩個整數序列。其中一個序列表示棧的push順序,判斷另一個序列有沒有可能是對應的pop順序

來源:互聯網
上載者:User
package structure.stack_queue;import java.util.Stack;/** * 題目:輸入兩個整數序列。其中一個序列表示棧的push順序,判斷另一個序列有沒有可能是對應的pop順序。 *  * @author Toy *  */public class Stack_PopOrder {/** * a為入棧順序,b為出棧順序 *  * @param a * @param b * @return */public boolean check_order(int[] a, int[] b) {Stack<Integer> s = new Stack<Integer>();int k = 0;for (int i = 0; i < a.length; i++) {s.push(a[i]);while (!s.isEmpty()) {if (s.peek() != b[k]) {break;}System.out.println("match: " + s.peek() + " k: " + k + " b[k]:"+ b[k]);s.pop();k++;if (k == b.length) {System.out.println("has matched");return true;}}}System.out.println("not matched");return false;}/** * @param args */public static void main(String[] args) {int[] a = new int[] { 1, 2, 3, 4, 5 };int[] b = new int[] { 3, 5, 4, 2, 1 };Stack_PopOrder s = new Stack_PopOrder();s.check_order(a, b);}}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.