【发布时间】:2017-05-09 23:36:12
【问题描述】:
我对这个问题的回答如下,但我想知道我是否可以使用这段代码以及复杂度是多少:
import java.util.LinkedHashMap;
import java.util.Map.Entry;
public class FirstNonRepeatingCharacterinAString {
private char firstNonRepeatingCharacter(String str) {
LinkedHashMap<Character, Integer> hash =
new LinkedHashMap<Character, Integer>();
for(int i = 0 ; i< str.length() ; i++)
{
if(hash.get(str.charAt(i))==null)
hash.put(str.charAt(i), 1);
else
hash.put(str.charAt(i), hash.get(str.charAt(i))+1);
}
System.out.println(hash.toString());
for(Entry<Character, Integer> c : hash.entrySet())
{
if(c.getValue() == 1)
return c.getKey();
}
return 0 ;
}
public static void main(String args[])
{
String str = "geeksforgeeks";
FirstNonRepeatingCharacterinAString obj =
new FirstNonRepeatingCharacterinAString();
char c = obj.firstNonRepeatingCharacter(str);
System.out.println(c);
}
}
【问题讨论】:
-
我想知道我是否可以使用此代码。这是版权问题吗?
-
这段代码的复杂度是 O(n)。但是您的代码似乎没有返回标题中提到的内容。
-
我只是想知道,如果这个解决方案有效.. 这不是版权问题。
标签: java string algorithm data-structures