symbols匹配问题

  1. #include<iostream>
  2. #include<string>
  3. using namespace std;
  4.  
  5. struct Node
  6. {
  7. char data;
  8. Node*next;
  9. };
  10.  
  11. struct LinkStack
  12. {
  13. Node*top;
  14. };
  15.  
  16. LinkStack*create()
  17. {
  18. LinkStack*stack = new LinkStack;
  19. stack->top = NULL;
  20. return stack;
  21. }
  22.  
  23. bool isEmpty(LinkStack*stack)
  24. {
  25. return (stack->top == NULL);
  26. }
  27.  
  28. void pop(LinkStack*stack)
  29. {
  30. Node*p = stack->top;
  31. stack->top = stack->top->next;
  32. delete p;
  33. }
  34.  
  35. void push(LinkStack*stack, char item)
  36. {
  37. Node*p = new Node;
  38. p->data = item;
  39. p->next = stack->top;
  40. stack->top = p;
  41. }
  42.  
  43. char Top(LinkStack*stack)
  44. {
  45. return stack->top->data;
  46. }
  47.  
  48. int main()
  49. {
  50. int n;
  51. cin >> n;
  52. while (n-->0)
  53. {
  54. string s;
  55. cin >> s;
  56. LinkStack*stack = create();
  57. bool flag = true;
  58. int n = s.size();
  59.  
  60. for (int i = 0; i < n; i++)
  61. {
  62. if (s[i] == '(' || s[i] == '[' || s[i] == '{')
  63. push(stack, s[i]);
  64. if (s[i] == ')')
  65. {
  66. if (!isEmpty(stack))
  67. {
  68. if (isEmpty(stack) && Top(stack) != '(')
  69. {
  70. flag = false;
  71. break;
  72. }
  73. else
  74. {
  75. pop(stack);
  76. }
  77. }
  78. else
  79. {
  80. flag = false;
  81. break;
  82. }
  83. }
  84. else if (s[i] == ']')
  85. {
  86. if (!isEmpty(stack))
  87. {
  88. if (Top(stack) != '[')
  89. {
  90. flag = false;
  91. break;
  92. }
  93. else
  94. {
  95. pop(stack);
  96. }
  97. }
  98. else
  99. {
  100. flag = false;
  101. break;
  102. }
  103. }
  104. else if (s[i] == '}')
  105. {
  106. if (!isEmpty(stack))
  107. {
  108. if (Top(stack) != '{')
  109. {
  110. flag = false;
  111. break;
  112. }
  113. else
  114. {
  115. pop(stack);
  116. }
  117. }
  118. else
  119. {
  120. flag = false;
  121. break;
  122. }
  123. }
  124. }
  125. if (!isEmpty(stack))
  126. flag = false;
  127. if (flag)
  128. cout << "Yes" << endl;
  129. if (!flag)
  130. cout << "No" << endl;
  131.  
  132. delete stack;
  133. }
  134. return 0;
  135. }

  

Balancing Symbols的更多相关文章

  1. Undefined symbols for architecture arm64解决方案

    在iOS开发中经常遇到的一个错误是Undefined symbols for architecture arm64,这个错误表示工程某些地方不支持arm64指令集.那我们应该怎么解决这个问题了?我们不 ...

  2. Clang: Undefined symbols, but it is there using nm.

    https://stackoverflow.com/questions/36662920/xcode-clang-link-build-dynamic-framework-or-dylib-not-e ...

  3. 转载:《TypeScript 中文入门教程》 16、Symbols

    版权 文章转载自:https://github.com/zhongsp 建议您直接跳转到上面的网址查看最新版本. 介绍 至ECMAScript 2015开始,symbol成为了一种新的原始类型,就像n ...

  4. ios build时,Undefined symbols for architecture xxx问题的总结

    简单来说,Undefined symbols基本上等于JAVA的ClassNotFoundException,最常见的原因有这几种: build的时候没有加framework 比如说,有一段代码我用了 ...

  5. Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_The49DayPersonalFullscreenGiftModel", referenced from: objc-class-ref in The49DayPersonalRoomGiftModel.o ld: symbol(s) not found for a

    Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_The49DayPersonalFullscreenGiftModel&q ...

  6. ios开发错误之: Undefined symbols for architecture x86_64

    错误如下: Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_RoutingHTTPServer", refere ...

  7. could not read symbols: File format not recognized

    arm-linux-gnueabi-readelf工具解决问题 编译一个32位平台的内核时,出现如下错误提示: libschw.a: could not read symbols: File form ...

  8. 解决duplicate symbols for architecture x86_64错误

    duplicate symbols for architecture x86_64 两个不第三方SDK之间的文件里面内容重复了,类似 file.h+file.m 和 CHfile.h+CHfile.m ...

  9. How to pronounce symbols on keyboard

    Refefrence: http://answers.yahoo.com/question/index?qid=20100607151104AAtQxhc ~ “tilde” or “tweedle” ...

随机推荐

  1. Oracle SQL Developer 设置自动提示(完成设置)

  2. 查看SQL语句执行时间与测试SQL语句性能

    查看SQL语句执行时间与测试SQL语句性能 写程序的人,往往需要分析所写的SQL语句是否够优化.是否能提升执行效率,服务器的响应时间有多快,这个时候就需要用到SQL的STATISTICS状态值来查看了 ...

  3. ITest

    渗透测试入门 我很简单,请不要欺负我 网站综合渗透实验: 真的很简单: 你是会员吗: 2015中国网络安全大赛 一.代码执行: 同DZ漏洞全家桶中的"又见DZ,我能那你怎么办". ...

  4. 表单与JQuery

    表单: Html标签注意: 1.提交action 2.提交按钮:类型一定为type="submit" ,不然无反应 3. Jquery: 个人认为属于JS 1.一般不用表单提交 2 ...

  5. 关于 HSSF 和 XSSF 功能的开发者入门指南 (Apache POI 操作 Excel)

    关于 HSSF 和 XSSF 功能的开发者入门指南 笔者深夜无眠,特此对本文翻译一部分,未完成部分待后续更新 本文源文地址 意欲使用 HSSF 和 XSSF 功能快熟读写电子表格?那本文就是为你而写的 ...

  6. ACdream 1064 完美数

    数位dp. #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #incl ...

  7. 第七十一,CSS颜色与度量单位

    CSS颜色与度量单位 学习要点: 1.颜色表方案 2.度量单位 本章主要探讨HTML5中CSS颜色和度量单位等问题,包括颜色的选取方式.相对长度和绝对长度等.   一.颜色表方案 1 颜色的表现形式主 ...

  8. ggplot2 scale相关设置-坐标转换

    ggplot2 scale相关设置-坐标转换 在R中坐标轴转换有多种形式,包括对数转换,平方根转换以及坐标刻度前后进行调换 用到的函数分别有: scale_x_log10(...) scale_y_l ...

  9. OpenCV2.x自学笔记——自适应阈值

    adaptiveThreshold(src,dst, double maxValue, int adaptiveMethod, int thresholdType, int blockSize, do ...

  10. PHP7新功能及语法变化总结

    1.标量类型声明有两种模式: 强制 (默认) 和 严格模式. 现在可以使用下列类型参数(无论用强制模式还是严格模式): 字符串(string), 整数 (int), 浮点数 (float), 以及布尔 ...