LeetCode算法题「持续更新」

Author Avatar
Jason Zhang 8月 22, 2018
  • 在其它设备中阅读本文章

本文最近一次更新于 334 天前,其中所包含的信息很可能已经有所发展或是发生改变。

最近在LeetCode写一些算法,顺便用博客记录下代码,到时候就可以进行一些骚操作

第796题:旋转字符串

class Solution {
    public boolean rotateString(String A, String B) {
        if(A.isEmpty()&&B.isEmpty())
            return true;
        for(int i=0;i<A.length();i++){
            char[] array = A.toCharArray();
            char C = array[0];
            for(int n=0;n<A.length()-1;n++)
                array[n] = array[n+1];
            array[A.length()-1] = C;
            A = String.valueOf(array);
            if(A.equals(B))
               return true;
        }
        return false;
    }
}

第7题:反转整数

class Solution {
    public boolean isPalindrome(int x) {
        if(x<0||(x%10==0&&x!=0))
            return false;
        int rev = 0;
        while(x>rev) {
            rev = rev*10+x%10;
            x= x/10;
        }
        return x==rev||x==rev/10;
    }
}

第3题:无重复字符的最长子串

class Solution {
    public int lengthOfLongestSubstring(String s) {
        int maxLength = 0;
        int length = s.length();
        int i = 0, j = 0;
        HashMap<Character, Integer> hashMap = new HashMap<>();
        for (; j < length; ++j){
            if (hashMap.containsKey(s.charAt(j))){
                i = Math.max(hashMap.get(s.charAt(j)) + 1, i);
            }
            maxLength = Math.max(maxLength, j - i + 1);
            hashMap.put(s.charAt(j), j);
        }
        return maxLength;
    }
}

第6题:Z字形变换

class Solution:
    def convert(self, s: str, numRows: int) -> str:
        result = []
        lenth = len(s)
        i=0
        if numRows == 1:
            return s
        while i < lenth:
            result.append(s[i])
            i+= numRows*2 - 2
        h = 1
        while h < numRows-1:
            i = h
            while i < lenth:
                result.append(s[i])
                i += (numRows-h-1)* 2 
                if i >= lenth:
                    break
                result.append(s[i])
                i += h*2
            h += 1
        i=h
        while i < lenth:
            result.append(s[i])
            i+= numRows*2 - 2
        return "".join(result)

第气体

本文标题: LeetCode算法题「持续更新」
最后更新:2019 年 06 月 18 日 - 16:06
本文链接:https://blog.jasonzhang.xyz/posts/88489d6d/
本文采用:署名-非商业性使用-禁止演绎 4.0 国际 协议进行许可,阅读 相关说明