ARTS-2018.11.27 LeetCode09 - IDEA Plugins

ARTS 2018.11.27

LeetCode 09: Palindrome-number

第一次提交:

public boolean isPalindrome(int x) {
        String s = String.valueOf(x);
        char[] chars = s.toCharArray();
        StringBuilder stringBuilder = new StringBuilder();
        for (int i = chars.length-1; i >=0 ; i--) {
            stringBuilder=stringBuilder.append(chars[i]);
        }
        if (s.equals(stringBuilder.toString())) {
            return true;
        }
        return false;
    }

優化之後:

public boolean isPalindrome(int x) {
        if(x<0) return false;
        if(x<10) return true;
        String s = String.valueOf(x);
        char[] chars = s.toCharArray();
        for (int i = 0; i < chars.length / 2; i++) {
            if (s.charAt(i) != s.charAt(chars.length - 1 - i)) {
                return false;
            }
        }
        return true;
    }

不轉換成字符串的解法:


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

作者從Java語言本身的角度說明Java爲什麼被稱爲“一種安全的語言”:

  1. 運行時的邊界檢查。最常見的就是數組越界時拋出ArrayIndexOutOfBoundsException異常
  2. 沒有指針。在Java中不能像C/C++中顯示的聲明指針變量,Java中使用引用來指向對象,並不能對引用進行算術運算,也不能轉換成不相容的類型。
  3. 異常處理機制。作者以checked exception舉例說明,異常處理能提高系統的穩定性。
  4. 垃圾回收。自動的垃圾回收機制。

該篇只是簡單的列舉了Java作爲安全語言的幾個方面,並沒有深入的進行解析,若要深入,還需要對語言本身的機制有更多的理解。

  • Tip
    工欲善其事必先利其器,推薦自己常用的IDEA插件IDEA自用插件推薦

  • Share

    分享一個找單詞縮寫的英文網站 https://www.abbreviations.com/abbreviation/

    我們在寫程序的過程中會經常碰到要給變量取名的問題,有時候名稱太長就可以採用縮寫,最好不要用中文拼音代替噢。

— kay

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章