1. /**
    2. * 14、最长公共前缀
    3. *
    4. * @param strs
    5. * @return
    6. */
    7. public static String longestCommonPrefix(String[] strs) {
    8. if (strs.length == 0) {
    9. return "";
    10. }
    11. if (strs.length == 1) {
    12. return strs[0];
    13. }
    14. // 先找出一个数组内最小字符串下标
    15. int minStrIndex = 0;
    16. for (int i = 0; i < strs.length; i++) {
    17. if (strs[i].length() < strs[minStrIndex].length()) {
    18. minStrIndex = i;
    19. }
    20. }
    21. String compareString = strs[minStrIndex];
    22. for (String str : strs) {
    23. while (!str.startsWith(compareString)) {
    24. // 不匹配减一重新匹配
    25. compareString = compareString.substring(0, compareString.length() - 1);
    26. }
    27. }
    28. return compareString;
    29. }
    30. /**
    31. * 9、回文数
    32. *
    33. * @param x
    34. * @return
    35. */
    36. public static boolean isPalindrome(int x) {
    37. if (x < 0) {
    38. return false;
    39. }
    40. char[] xChars = String.valueOf(x).toCharArray();
    41. for (int i = 0; i < (xChars.length / 2); i++) {
    42. if (xChars[i] != xChars[xChars.length - 1 - i]) {
    43. return false;
    44. }
    45. }
    46. return true;
    47. }
    48. /**
    49. * 7、整数反转
    50. *
    51. * @param x
    52. * @return
    53. */
    54. public static int reverse(int x) {
    55. String xString = String.valueOf(x);
    56. if (xString.length() == 0) {
    57. return 0;
    58. }
    59. if (xString.length() == 1) {
    60. return x;
    61. }
    62. try {
    63. if ("-".equals(xString.substring(0, 1))) {
    64. //负数
    65. String sign = xString.substring(0, 1);
    66. String other = xString.substring(1);
    67. char[] otherChars = other.toCharArray();
    68. StringBuilder newOther = new StringBuilder();
    69. for (int i = otherChars.length - 1; i >= 0; i--) {
    70. newOther.append(otherChars[i]);
    71. }
    72. return Integer.parseInt(sign + newOther.toString());
    73. } else {
    74. //整数
    75. char[] otherChars = xString.toCharArray();
    76. StringBuilder newOther = new StringBuilder();
    77. for (int i = otherChars.length - 1; i >= 0; i--) {
    78. newOther.append(otherChars[i]);
    79. }
    80. return Integer.parseInt(newOther.toString());
    81. }
    82. } catch (Exception e) {
    83. return 0;
    84. }
    85. }