Dotcpp  >  编程题库  >  Easy List Operations
题目 1380:

Easy List Operations

时间限制: 3s 内存限制: 96MB 提交: 17 解决: 5

题目描述

A list is a sequence of or more elements, expressed in this form: [a 1 , a 2 , a 3 , ... , a n ], where each a i
is or more consecutive digits or lowercase letters. i.e. each list begins with a left square bracket,
then zero or more elements separated by a single comma, followed by a right square bracket. There will
be no whitespace characters (spaces, TABs etc) within a list.
In this problem, we use two list operations: append (++) and remove (--).
1. A ++ B: append elements in B to the end of A.
2. A -- B: remove all the elements in B, from A. If something appears more than once in B, remove it that
many times in A. If there are many equal elements in A to choose from, remove them from left to right
(until all occurrences are removed, or there is no need to remove more elements).
Your task is to write a calculator, evaluating simple expressions or the form "list1 ++ list2" or "list1 --
list2".

输入格式

There will be at most 10 expressions, one in each line, each having the form "list1 ++ list2" or "list1 --
list2", with no more than 80 characters in total (not counting the newline character). There will be exactly
two spaces in each line: one before and one after the operator. Input ends with a single dot. The input is
guaranteed to satisfy the restrictions stated above.

输出格式

For each expression, print its result on a single line.

样例输入

[1,2,3] ++ [1,2,3]
[a,b,c,t,d,e,t,x,y,t] -- [t]
[a,b,c,t,d,e,t,x,y,t] -- [t,t,t,t]
[123] ++ [456]
.

样例输出

[1,2,3,1,2,3]
[a,b,c,d,e,t,x,y,t]
[a,b,c,d,e,x,y]
[123,456]

提示

零基础的同学可以先学习基础,教程见:  C语言教程C++教程编译器教程数据结构教程Python教程单片机教程

视频教学见视频网课

标签