原创 兩數相加--Java實現

leetcode官方的方法,比我一開始想的好了不知道多少倍。 思路 我們使用變量來跟蹤進位,並從包含最低有效位的表頭開始模擬逐位相加的過程。 對兩數相加方法的可視化: 342 + 465 = 807342+465=807,每個結點都包含

原创 力扣遞歸實現反轉字符串--Java實現

public class Solution { public void reverseString(char[] s) { int high=s.length-1; reverset(s,0,hi

原创 非遞歸斐波那契數列問題

遞歸可以實現該問題,但是效率非常低 看了《劍指Offer》,覺得用循環實現更加合適,時間複雜度爲O(n) public int Fibonacci(int n) { int[] result={0,1};

原创 封裝、繼承和多態----面向對象核心

封裝 封裝是指將抽象數據和對數據的操作封裝到一起,在封裝過程中提供不同的訪問修飾符用於控制成員訪問權限 Java中提供的訪問修飾符有四種: public:對外公開 protected:對子類和同包的類公開 默認(無修飾符):對同包公開 p

原创 Java實現兩兩交換鏈表的節點

思路來自LeetCode /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next

原创 《劍指Offer》中面試題11:旋轉數組最小數字

把一個數組最開始的若干個元素搬到數組的末尾,我們稱之爲數組的旋轉。輸入一個非遞減排序的數組的一個旋轉,輸出旋轉數組的最小元素。例如數組{3,4,5,1,2}爲{1,2,3,4,5}的一個旋轉,該數組的最小值爲1。NOTE:給出的所有元素

原创 Java中的集合複習(1)

首先放一張部分基礎集合的繼承關係圖(Set和List) 外框爲虛線的表示接口,邊框爲實線的表示類;箭頭爲虛線的表示實現了接口,箭頭爲實線的表示繼承了類。 ArrayList:非線程安全,隨機訪問效率高,非尾部插入和刪除效率較低,如果在中

原创 關於java.awt和javax.swing cannot resolved的解決方法

在java10中,導入java.awt或javax.swing都會報cannot resolved,這個問題也困擾了我一個下午,最終解決方法是將 System Librory 中的 Execution enviroment版本修改,可能

原创 算法分析與設計期末總結

這是我的算法分析與設計課程自己總結的一些知識點,應該不太全,記錄一下算法的特徵:輸入,輸出,確定性,有窮性,可行性基本數據結構:線性,樹結構,圖結構,集合 遞歸與分治1、遞歸法使用遞歸方法時須注意的問題:(1)   遞歸調用函數必須在滿足