#413. 方向消除
方向消除
描述
在一个迷宫中有无数个方格组成的房间,每一个房间通向四周相邻的房间,但两边的门并不总是开着的(甚至必须要出走一圈回到原处才能打开某个通向出口的通道)。探险家有一个神奇的罗盘,它一定能给使用者指出有限步骤内走出迷宫的当前地点能够移动的方向。但它有个怪癖好,它非常喜欢捉弄人,总会引导去一些错误的地点然后让你原路返回。探险家使用了另一个可编程水晶球来对抗罗盘,它可以知道罗盘将来要指出的方向序列。为了避免走错路,会利用水晶球把那些会原路返回的地方给去掉。但探险家遇到一个难题,他并不懂得如何编程,需要你来为他编写一个方向消除的程序。你能帮助他吗?
Input
给定一个字符串,其仅包含'L','R','U','D'四个字符,分别代表了罗盘所指出方向的序列。
Output
根据U与D是反方向,L与R是反方向进行配对消除。输出不会原路返回的序列。
样例
LULRDUDDL
LDL
LDURLULDR
LULDR
样例1说明
先对序列进行配对L(U(LR)D)(UD)DL,后发现将配对串全部剔除后,剩下LDL。
样例2说明
先对序列进行配对L(DU)(RL)ULDR,后发现将配对串全部剔除后,剩下LULDR。发现其实ULDR其实也是能够消除的,但是这是外出一圈回到原处,而不是原路返回的路径,意味着这是通向出口的必经路径。