zoukankan      html  css  js  c++  java
  • 华为2019软件题

    2. aa2(b)->aabb->bbaa

     abc4{C2[B3(A)]}->abcCBAAABAAACBAAABAAACBAAABAAACBAAABAAA->AAABAAABCAAABAAABCAAABAAABCAAABAAABCcba

       思路:使用栈

     1 #include <iostream>
     2 #include <stack>
     3 #include <string>
     4 using namespace std;
     5 
     6 int main()
     7 {
     8     string str;
     9     cin>>str;
    10     stack<char> s;
    11     for(int i=0;i<str.size();++i)
    12     {
    13 //        cout<<str[i]<<" ";
    14         //&& 和 || 的逻辑
    15         if(str[i]!='}' && str[i]!=']' && str[i]!=')')
    16         {
    17             s.push(str[i]);
    18         }
    19         else
    20         {
    21             string res;
    22             //出栈
    23             while(s.top()!='{' && s.top()!='[' && s.top()!='(')
    24             {
    25                 res +=s.top();
    26                 s.pop();
    27             }
    28 //            cout<<res<<endl;
    29 //            cout<<res<<endl;
    30             s.pop();
    31 //            cout<<s.top()<<endl;
    32             int cnt = s.top()-'0';
    33             s.pop();
    34 //            cout<<cnt<<endl;
    35             reverse(res.begin(), res.end());
    36             string tmp = res;
    37             for(int j=0; j<cnt-1; ++j)
    38             {
    39                 res += tmp;
    40             }
    41 //            cout<<res<<" "<<tmp<<endl;
    42 
    43             for(int j=0; j<res.size(); ++j)
    44             {
    45                 s.push(res[j]);
    46             }
    47         }
    48 //        cout<<s.size()<<endl;
    49 
    50     }
    51 //    cout<<res;
    52 //    cout<<endl;
    53     //输出栈中的元素
    54     while(!s.empty())
    55     {
    56         cout<<s.top();
    57         s.pop();
    58     }
    59     return 0;
    60 }
    61 
    62 /*
    63  * ab2(b)
    64  * ab2(ab)
    65  * abc4{C2[B3(A)]}
    66  */
  • 相关阅读:
    按年按月分组查询
    dir listing 目录文件列表索引
    ps/sql developer 登录远程服务器
    Sql 基础问题
    数组的ES6,ES7的方法
    release中技术点的定义
    数仓面试
    项目总体分析
    spark
    dmp准备工作
  • 原文地址:https://www.cnblogs.com/cc111/p/10692018.html
Copyright © 2011-2022 走看看