和慢读的改动差不多,都是换了个容器,但这个我是把deque换成stack了。
1.0:
#include <bits/stdc++.h>
#define ll long long
using namespace std;
void out(ll n)
{
deque <ll> num;
if(n<0)
{
cout<<'-';
n=n*-1;
}
if(!n)
{
cout<<0;
return;
}
while(n)num.push_back(n%10),n/=10;
while(!num.empty())
{
cout<<num.back();
num.pop_back();
}
return;
}
int main()
{
ll n;scanf("%lld",&n);
out(n);
return 0;
}
当时脑子抽了一个劲儿莽队列,然后就写了个双端队列,把栈给忘了,下面我来解释下为啥能用栈。
还是以123为例:
输入顺序:3,2,1
输出顺序:1,2,3
那么显然的,输出程序满足栈的First In Last Out(FILO)
上代码:
#include <bits/stdc++.h>
#define ll long long
using namespace std;
void out(ll n)
{
deque <ll> num;
if(n<0)
{
cout<<'-';
n=n*-1;
}
if(!n)
{
cout<<0;
return;
}
while(n)num.push_back(n%10),n/=10;
while(!num.empty())
{
cout<<num.back();
num.pop_back();
}
return;
}
int main()
{
ll n;scanf("%lld",&n);
out(n);
return 0;
}