原创 Leecode刷題Java125. 驗證迴文串

給定一個字符串,驗證它是否是迴文串,只考慮字母和數字字符,可以忽略字母的大小寫。 說明:本題中,我們將空字符串定義爲有效的迴文串。 示例 1: 輸入: "A man, a plan, a canal: Panama" 輸出: true 示

原创 Leecode刷題java283. 移動零

給定一個數組 nums,編寫一個函數將所有 0 移動到數組的末尾,同時保持非零元素的相對順序。 示例: 輸入: [0,1,0,3,12] 輸出: [1,3,12,0,0] 說明: 必須在原數組上操作,不能拷貝額外的數組。 儘量減少操作次數

原创 Leetcode刷題Java189. 旋轉數組

給定一個數組,將數組中的元素向右移動 k 個位置,其中 k 是非負數。 示例 1: 輸入: [1,2,3,4,5,6,7] 和 k = 3 輸出: [5,6,7,1,2,3,4] 解釋: 向右旋轉 1 步: [7,1,2,3,4,5,6]

原创 Leetcode刷題Java141. 環形鏈表

給定一個鏈表,判斷鏈表中是否有環。 爲了表示給定鏈表中的環,我們使用整數 pos 來表示鏈表尾連接到鏈表中的位置(索引從 0 開始)。 如果 pos 是 -1,則在該鏈表中沒有環。 示例 1: 輸入:head = [3,2,0,-4],

原创 數據結構與算法分析--Java語言描述(第二章(1))

習題2.8 假設需要生成前N個自然數的一個隨機置換。例如,{4,1,2,5,2} 和 {3,1,4,2,5} 就是合法的置換,但 {5,4,1,2,1} 卻不是,因爲數1出現了兩次而數 3 缺沒有。這個程序常常用於模擬一些算法。我們假設存

原创 數據結構與算法分析--Java語言描述(第一章(1))

本人Java入門小白,最近在看數據結構與算法分析--Java語言描述這本書,發現書本後面的習題真的很難。費了九牛二虎之力也只能解決一部分,因此決定記錄一下,以供後期繼續學習。文章中的代碼全部爲自己手動敲得,當然也有部分是參考網上大神的,歡

原创 數據結構與算法分析--Java語言描述(第一章(2))

習題1.6 編寫帶有下列聲明的例程: public void permute(String str); public void permute(char[] str, int low, int high); 第一個例程是個驅動程序,它調用

原创 數據結構單鏈表問題

1.如何找出鏈表中第k個元素? 首先,最容易想到的方法就是遍歷一遍單鏈表,求出整個單鏈表的長度n,然後將倒數第k個,轉換爲正數第n-k個,接下去遍歷一次就可以得到結果。但是該方法需要對鏈表進行兩次遍歷。 第二種方法,從頭結點開始,依次對鏈