fork download
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. public class Test
  5. {
  6. static string Common(List<string> strs)
  7. {
  8. if (strs == null || strs.Count == 0)
  9. return "";
  10.  
  11. if (strs.Count == 1)
  12. return strs[0];
  13.  
  14. for (int i = 0; i < strs[0].Length; ++i)
  15. for (int q = 1; q < strs.Count; ++q)
  16. if (strs[q].Length == i)
  17. return strs[q];
  18. else if (strs[q][i] != strs[q-1][i])
  19. return strs[q].Substring(0, i);
  20.  
  21. return strs[0];
  22. }
  23.  
  24. public static void Main()
  25. {
  26. Console.WriteLine("{1}: {0}", Common(new List<string>()), "");
  27. Console.WriteLine("{1}: {0}", Common(new List<string>() { "a" }), "a");
  28. Console.WriteLine("{1}: {0}", Common(new List<string>() { "a", "a" }), "a");
  29. Console.WriteLine("{1}: {0}", Common(new List<string>() { "a", "ab" }), "a");
  30. Console.WriteLine("{1}: {0}", Common(new List<string>() { "ab", "a" }), "a");
  31. Console.WriteLine("{1}: {0}", Common(new List<string>() { "ab", "cd" }), "");
  32. Console.WriteLine("{1}: {0}", Common(new List<string>() { "ab", "cd", "" }), "");
  33. Console.WriteLine("{1}: {0}", Common(new List<string>() { "ab", "ab" }), "ab");
  34. Console.WriteLine("{1}: {0}", Common(new List<string>() { "ab", "ab", "" }), "");
  35. Console.WriteLine("{1}: {0}", Common(new List<string>() { "abacaba", "aba", "abacaba" }), "aba");
  36. }
  37. }
Success #stdin #stdout 0.01s 29664KB
stdin
Standard input is empty
stdout
: 
a: a
a: a
a: a
a: a
: 
: 
ab: ab
: 
aba: aba