去面试,这道题没答上来,百思不得其解,求大牛给讲讲,郁闷中。
题目如下:
大概是这么个意思。要求解析一个string,但是这个string里边包含很多特殊意义的字符,比如%,#这一类的字符,当解析到这类字符的时候,就要去一个map中去查询它对应的字符串,比如 %对应 “haha”, #对应“xixi”,然后将解析出来的字符串替换原来的字符串。
难度在于,查询map出来的字符串也可能包含特殊字符,这样就有可能导致死循环,比如 % 查询出来 haha#,
查#, 又查到“xixi%”, 这样就会出现死循环?更复杂一点,当替换层数很深的时候,在每一层都有可能出现死循环,所以没法用递归吧? |