zoukankan      html  css  js  c++  java
  • 【编程题目】颠倒栈☆

    66.颠倒栈(栈)。
    题目:用递归颠倒一个栈。例如输入栈{1, 2, 3, 4, 5},1 在栈顶。
    颠倒之后的栈为{5, 4, 3, 2, 1},5 处在栈顶。

    思路:我自己没做出来,因为总觉得用不上递归。看了网上答案http://blog.csdn.net/cxllyg/article/details/7655935 根据里面的思路 自己照着写了一遍

    /*
    66.颠倒栈(栈)。
    题目:用递归颠倒一个栈。例如输入栈{1, 2, 3, 4, 5},1 在栈顶。
    颠倒之后的栈为{5, 4, 3, 2, 1},5 处在栈顶。
    */
    
    //自己没有理解用递归的含义 看了网上的答案http://blog.csdn.net/cxllyg/article/details/7655935
    
    #include <iostream>
    #include <vector>
    using namespace std;
    
    void pushToStackBottom(vector<int> & stack, int t)
    {
        if (stack.empty())
        {
            stack.push_back(t);
        }
        else
        {
            int T = stack.back();
            stack.pop_back();
            pushToStackBottom(stack, t);
            stack.push_back(T);
        }
    }
    
    void reverseStack(vector<int> &stack)
    {
        if (!stack.empty())
        {
            int t = stack.back();
            stack.pop_back();
            reverseStack(stack);
            pushToStackBottom(stack, t);
        }
    }
    
    int main()
    {
        vector<int> s;
        s.push_back(1);
        s.push_back(2);
        s.push_back(3);
        s.push_back(4);
        s.push_back(5);
    
        reverseStack(s);
        return 0;
    }
  • 相关阅读:
    P1127
    CF274D
    BZOJ1477: 青蛙的约会
    BZOJ2770: YY的Treap
    2017-10-湖南套题2
    BZOJ——2697: 特技飞行
    洛谷——P1621 集合
    2017-10-湖南套题1
    项目包结构初始化
    Maven的pom文件配置
  • 原文地址:https://www.cnblogs.com/dplearning/p/3916861.html
Copyright © 2011-2022 走看看