分析:直接就这么翻肯定是不行的,换一种想法:有括号就是把括号里的字符串倒着输出,如果在括号里又遇到了括号就继续倒着输出,相当于递归.

我们可以用递归直接做,也可以用一层循环搞定,每次从左括号跳到右括号,再从右括号跳到左括号,之后走一步,就能输出处理后的字符串了,而不会死循环了.

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std; char s[];
int tot, pipei[], nextt[], x, dir; int main()
{
scanf("%s", s + );
int sizee = strlen(s + );
for (int i = ; i <= sizee; i++)
{
if (s[i] == '(')
pipei[++tot] = i;
else
if (s[i] == ')')
{
nextt[i] = pipei[tot];
nextt[pipei[tot--]] = i;
}
}
dir = , x = ;
while (x >= && x <= sizee)
{
if (nextt[x])
{
x = nextt[x];
dir = -dir;
}
else
printf("%c", s[x]);
x += dir;
} return ;
}

最新文章

  1. Unix目录结构的来历
  2. [转自天涯]ISO27001与ISO20000的关系心得
  3. SQL查询一个月第一天/最后一天及日期格式化
  4. Redis分布式
  5. array_intersect() php筛选两个数组共有的元素
  6. 【Python】控制流语句、函数、模块、数据结构
  7. mysql System Tablespace
  8. css实现两端对齐~
  9. QQ聊天界面的布局和设计(IOS篇)-第二季
  10. C++----练习--string 从文件中一个一个单词的读直到文件尾
  11. MyEclipse6.5安装SVN插件的三种方法
  12. UILabel头文件常见属性
  13. e.currentTarget
  14. Vim常见操作汇总
  15. 【.NET异步编程系列1】:await&amp;async语法糖让异步编程如鱼得水
  16. robocopy的用法,数据库局域网备份
  17. 调度器的实现、schedule、switch_context、switch_to
  18. python sqlparse 各种 token
  19. CSS hack兼容表
  20. AES加密【转】

热门文章

  1. bzoj 1603: [Usaco2008 Oct]打谷机【瞎搞】
  2. (快排)51NOD 1018 排序
  3. P4451 [国家集训队]整数的lqp拆分
  4. jQuery——表单应用(2)
  5. redis的两种备份方式
  6. KMP POJ 2406 Power Strings
  7. 二分图最大匹配(匈牙利算法) POJ 3041 Asteroids
  8. 设置Echarts鼠标悬浮样式
  9. EasyUI系列学习(五)-Resizable(调整大小)
  10. Call stack-函数调用栈