1796. 字符串中第二大的数字

  1. class Solution {
  2. public int secondHighest(String s) {
  3. List<Integer> list = new ArrayList<>();
  4. for (char c : s.toCharArray()) {
  5. if (c >= '0' && c <= '9')
  6. list.add(c - '0');
  7. }
  8. if (list.size() <= 1)
  9. return -1;
  10. int[] nums = new int[list.size()];
  11. for (int i = 0; i < list.size(); i++) {
  12. nums[i] = list.get(i);
  13. }
  14. Arrays.sort(nums);
  15. if (nums[0] == nums[nums.length - 1])
  16. return -1;
  17. for (int i = nums.length - 2; i >= 0; i--) {
  18. if (nums[i] != nums[i + 1])
  19. return nums[i];
  20. }
  21. return -1;
  22. }
  23. }