原创 (codewars)Simple Pig Latin

題目 題目鏈接 Move the first letter of each word to the end of it, then add “ay” to the end of the word. Leave punctuatio

原创 給定一個有N*M的整形矩陣matrix和一個整數k,matrix的每一行和每一列都是排好序的。實現一個函數,判斷k是否在matrix中。

題目描述 給定一個有N*M的整形矩陣matrix和一個整數k,matrix的每一行和每一列都是排好序的。實現一個函數,判斷k是否在matrix中。 要求時間複雜度o(M+N)空間複雜度o(1) 例如: 0 1 2 5 2 3

原创 【面試題 02.02】 返回倒數第 k 個節點

題目 題目鏈接 實現一種算法,找出單向鏈表中倒數第 k 個節點。返回該節點的值。 注意:本題相對原題稍作改動 示例: 輸入: 1->2->3->4->5 和 k = 2 輸出: 4 說明: 給定的 k 保證是有效的。 實現思路

原创 List如何在增加元素的同時刪除元素

問題介紹 List如何在增加元素的同時刪除元素。 這還不簡單? 直接上代碼: List<String> lists = new ArrayList<>(); lists.add("MRyan");

原创 【面試題 02.07】 鏈表相交

題目 題目鏈接 給定兩個(單向)鏈表,判定它們是否相交併返回交點。請注意相交的定義基於節點的引用,而不是基於節點的值。換句話說,如果一個鏈表的第k個節點與另一個鏈表的第j個節點是同一節點(引用完全相同),則這兩個鏈表相交。 示例

原创 【面試題 04.08】 首個共同祖先

題目 題目鏈接 設計並實現一個算法,找出二叉樹中某兩個節點的第一個共同祖先。不得將其他的節點存儲在另外的數據結構中。注意:這不一定是二叉搜索樹。 例如,給定如下二叉樹: root = [3,5,1,6,2,0,8,null,nul

原创 設計模式實現(六)代理模式

什麼是代理模式 代理模式:代理模式又叫委託模式,是爲某個對象提供一個代理對象,並且由代理對象控制對原對象的訪問。代理模式通俗來講就是我們生活中常見的中介。 代理模式可以提供非常好的訪問控制,應用比較廣泛。 舉個例子來說明:房東要出

原创 【面試題 02.05】鏈表求和

題目 題目鏈接 給定兩個用鏈表表示的整數,每個節點包含一個數位。 這些數位是反向存放的,也就是個位排在鏈表首部。 編寫函數對這兩個整數求和,並用鏈表形式返回結果。 示例: 輸入:(7 -> 1 -> 6) + (5 -> 9 ->

原创 【面試題 05 02】二進制轉字符串

題目 題目鏈接 二進制數轉字符串。給定一個介於0和1之間的實數(如0.72),類型爲double,打印它的二進制表達式。如果該數字不在0和1之間,或者無法精確地用32位以內的二進制表示,則打印“ERROR”。 示例1: 輸入:0.

原创 【面試題 17.12】BiNode

題目 題目鏈接 二叉樹數據結構TreeNode可用來表示單向鏈表(其中left置空,right爲下一個鏈表節點)。實現一個方法,把二叉搜索樹轉換爲單向鏈表,要求值的順序保持不變,轉換操作應是原址的,也就是在原始的二叉搜索樹上直接修

原创 【面試題 01 06】字符串壓縮

題目 題目鏈接 字符串壓縮。利用字符重複出現的次數,編寫一種方法,實現基本的字符串壓縮功能。比如,字符串aabcccccaaa會變爲a2b1c5a3。若“壓縮”後的字符串沒有變短,則返回原先的字符串。你可以假設字符串中只包含大小寫

原创 【面試題 02.04】 分割鏈表

題目 題目鏈接 編寫程序以 x 爲基準分割鏈表,使得所有小於 x 的節點排在大於或等於 x 的節點之前。如果鏈表中包含 x,x 只需出現在小於 x 的元素之後(如下所示)。分割元素 x 只需處於“右半部分”即可,其不需要被置於左右

原创 【面試題 04.06】 後繼者

題目 題目鏈接 設計一個算法,找出二叉搜索樹中指定節點的“下一個”節點(也即中序後繼)。 如果指定節點沒有對應的“下一個”節點,則返回null。 示例 1: 輸入: root = [2,1,3], p = 1 2 / \

原创 【面試題 04.12】 求和路徑

題目 題目鏈接 給定一棵二叉樹,其中每個節點都含有一個整數數值(該值或正或負)。設計一個算法,打印節點數值總和等於某個給定值的所有路徑的數量。注意,路徑不一定非得從二叉樹的根節點或葉節點開始或結束,但是其方向必須向下(只能從父節點

原创 【面試題04 10】檢查子樹

題目 題目鏈接 檢查子樹。你有兩棵非常大的二叉樹:T1,有幾萬個節點;T2,有幾萬個節點。設計一個算法,判斷 T2 是否爲 T1 的子樹。 如果 T1 有這麼一個節點 n,其子樹與 T2 一模一樣,則 T2 爲 T1 的子樹,也就