首页 > 其他 > 详细

【字符串】1003. 检查替换后的词是否有效

时间:2020-05-04 14:27:38      阅读:46      评论:0      收藏:0      [点我收藏+]

题目:

技术分享图片

 

 

解答:

依次遍历S中的每个字符,如果当前字符为c,判断栈顶两个字符是不是b和a,如果是,两次退栈, 否则可直接判断S不是有效的字符串, 当前前提是先判断栈中元素个数是不是大于2,如果不是,直接判断无效。如果是 字符a 和b直接入栈。

 1 class Solution {
 2 public:
 3    bool isValid(string S) 
 4    {
 5         stack<char> st;
 6         for(char ch:S)
 7         {
 8             if(ch!=c) 
 9             {
10                 st.push(ch);
11             }
12             else 
13             {
14                 if(st.size()<2) 
15                 {
16                     return false;
17                 }
18                 char ch1,ch2;
19                 ch1=st.top();
20                 st.pop();
21                 ch2=st.top();
22                 st.pop();
23                 if(ch1!=b||ch2!=a) 
24                 {
25                     return false;
26                 }
27             }
28         }
29         if(st.empty()) 
30         {
31             return true;
32         }
33         return false; 
34     }
35 };

 

【字符串】1003. 检查替换后的词是否有效

原文:https://www.cnblogs.com/ocpc/p/12826214.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!