《LeetCode 热题 HOT 100》Java答案汇总版---持续更新中

《LeetCode 热题 HOT 100》Java答案汇总版—持续更新中



个人认为《LeetCode 热题 HOT 100》中的题目特别适合算法新手进行一个入门的刷题,而且作者做了一半左右的题目就感觉收获颇丰,可以拿一些编程大赛的国家级三等奖了,是刷算法题的不二选择!!!

官方题目链接:https://leetcode.cn/problem-list/2cktkvj/

一、简单

  • 1.两数之和
        public int[] twoSum(int[] nums, int target) {
    
            HashMap<Integer, Integer> map = new HashMap<>();
    
            for (int i = 0; i < nums.length; i++) {
    
                if (map.containsKey(target - nums[i])) {
                    return new int[]{i, map.get(target - nums[i])};
                }
    
                map.put(nums[i], i);
            }
            return new int[]{-1};
    
        }
    
  • 20.有效的括号
    public boolean isValid(String s) {
    
        if (s.length() % 2 == 1) {
            return false;
        }
    
        ArrayDeque<Character> stack = new ArrayDeque<>();
    
        for (int i = 0; i < s.length(); i++) {
    
            char ch = s.charAt(i);
    
            if (ch == '(' || ch == '{' || ch == '[') {
                stack.push(ch);
            }
    
            if (ch == ')') {
                if (stack.isEmpty() || stack.peek() != '(') {
                    return false;
                }
                stack.pop();
            }
    
            if (ch == ']') {
                if (stack.isEmpty() || stack.peek() != '[') {
                    return false;
                }
                stack.pop();
            }
    
            if (ch == '}') {
                if (stack.isEmpty() || stack.peek() != '{') {
                    return false;
                }
                stack.pop();
            }
        }
    
        return stack.isEmpty();
    
    }
    

你可能感兴趣的:(LeetCode,leetcode,算法,java)