PAT 1084 Broken Keyboard

#include <cstdio>
#include <cstdlib>
#include <vector>

using namespace std;

char linea[82];
char lineb[82];
bool tbl[256];

char cap(char ch) {
     if (ch >= 'a' && ch <= 'z') {
        ch -= 'a' - 'A';
     }
     return ch;
}

int main() {
    scanf("%s", linea);
    scanf("%s", lineb);
    vector<char> broken;
    char cha, chb;
    int ia = 0, ib = 0;
    while (linea[ia]!= '\0' && lineb[ib] != '\0') {
          cha = cap(linea[ia]);
          chb = cap(lineb[ib]);
          if (cha == chb) {
              ia++, ib++;              
          } else {
              if (!tbl[cha]) {
                 broken.push_back(cha);
                 tbl[cha] = true;
              }
              ia++;
          }
    }
    while (linea[ia] != '\0') {
        cha = cap(linea[ia]);
        if (!tbl[cha]) {
           broken.push_back(cha);
           tbl[cha] = true;
        }
        ia++;
    }
    int len = broken.size();
    for (int i=0; i<len; i++){
        printf("%c", broken[i]);    
    }
    system("pause");    
    return 0;    
}

链表Merge类题目

转载于:https://www.cnblogs.com/lailailai/p/4078377.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值