<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ~~~ package stackAndQueue; import java.util.Stack; import org.junit.Test; /** * 僅用遞歸函數和棧逆序一個棧:ReverseStack【2】 * * 【一個棧依次壓入1、2、3,將棧轉置,使棧頂到棧底依次是1、2、3,只能用遞歸函數,不能借用額外的數據結構包括棧】 * * 算法思想:兩個遞歸函數(getAndRemoveBottom、reverse) * * @author xiaofan */ public class ReverseStack { /** * 返回并移除當前棧底元素(棧內元素<棧底>1、2、3<棧頂>變為2、3<棧頂>). */ private int getAndRemoveBottom(Stack<Integer> stack) { int result = stack.pop(); if (stack.empty()) { return result; } else { int bottom = getAndRemoveBottom(stack); stack.push(result); return bottom; // 第一輪時,返回棧底元素1 } } /** * 每層遞歸取出棧底的元素并緩存到變量中,直到棧空; * * 然后逆向將每層變量壓入棧,最后實現原棧數據的逆序。 * * @param stack */ public void reverse(Stack<Integer> stack) { if (stack.empty()) { return; } int i = getAndRemoveBottom(stack); // 依次返回1、2、3 reverse(stack); stack.push(i); // 依次壓入3、2、1 } ///////// 測試方法//////// @Test public void test() { Stack stack = new Stack(); // Stack繼承Vector,默認容量是10 stack.push(1); stack.push(2); stack.push(3); ReverseStack rStack = new ReverseStack(); rStack.reverse(stack); while (!stack.empty()) { System.out.println(stack.pop()); } } } ~~~ 代碼地址:[https://github.com/zxiaofan/Algorithm/blob/master/src/stackAndQueue/ReverseStack.java](https://github.com/zxiaofan/Algorithm/blob/master/src/stackAndQueue/ReverseStack.java)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看