这是一个面试问题。查找给定字符串中的第一个字符,只出现一次(我认为解决方案应该在Java中)。如何查找给定字符串中的第一个字符,该字符只出现一次
例如:
"babcbcd" -> 'a' // both 'a' and 'd' appear only once but 'a' appears before 'd'
平凡解是
- 构建地图(例如
HashMap
):字符 - >它的字符串中的出现次数; - 扫描对地图字符串和测试字符串中的字符,直到字符的值是1
是否有意义?什么是最好的图的实现?有没有更好的,更有效的解决方案?
*“有没有更好的,更有效的解决方案?“*你认为什么? – 2013-02-17 15:08:19
_是否有更好,更有效的解决方案?_我不这么认为。 – sigod 2013-02-17 15:10:49
你可以保持一个优先级队列,并弹出顶部并检查它是否为1. – 2013-02-17 15:11:26