这个方法既节约了空间又节约了时间:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
#include"iostream" #include"queue" #include"string.h" #include"stdio.h" #include"cmath" using namespace std; int main() { int i,j,s,t; queue<int>q; q.push(1); for(i=1;i<=10;i++) { s=0;q.push(0); for(j=0;j<i+1;j++) { t=q.front(); q.pop(); if(t) cout<<t<<' '; q.push(s+t);//输出上一行的同时将下一行进队列 s=t; } cout<<endl; } return 0; }