原创 JAVA項目四:郵件發送客戶端

一、Java Mail API簡介 JavaMail API是讀取、撰寫、發送電子信息的可選包。我們可用它來建立如Eudora、Foxmail、MS Outlook Express一般的郵件用戶代理程序(Mail User Age

原创 Leetcode 61. Rotate List (旋轉鏈表)

LeetCode 61.RotateList 一、題目描述 For example: Given 1->2->3->4->5->NULL and k = 2, return 4->5->1->2->3->NULL. 二、解題思

原创 Leetcode 86. Partition List(鏈表劃分)

題目描述 給定鏈表和整型值x,將小於x的結點放到鏈表左邊,大於x的結點放到鏈表右邊。 Given a linked list and a value x, partition it such that all nodes less

原创 刪除鏈表結點--O(1)時間複雜度

一、題目描述 給定一個單鏈表中的一個等待被刪除的節點(非表頭或表尾)。請在在O(1)時間複雜度刪除該鏈表節點。 樣例 給定 1->2->3->4,和節點 3,刪除 3 之後,鏈表應該變爲 1->2->4 題目鏈接:刪除鏈表結

原创 二、構建Spring源碼環境

Spring 的源碼已經從 svn 遷移到 GitHub。而且也改爲基於 Gradle 的構建來構建項目。它取代了之前的 Ant+Ivy 系統,所以要構建 Spring 源碼環境首先要安裝 GitHub 以及 Gradle。 安裝

原创 Javac 編譯器

要點: 1、Javac 如何將 Java 的源代碼轉化爲 class 字節碼? 2、Javac 的語法樹結構; 3、Javac 的詳細工作流程; 4、Java 中如何實現內部類? 5、Javac 與其他編

原创 Leetcode 143. Reorder List(鏈表重新排序)

題目描述 Leetcode題目鏈接 給定單鏈表,實現反轉與洗牌操作 思路分析 首先取得鏈表長度,然後反轉鏈表的後一半部分。然後開始鏈表重新排序(類似於洗牌一樣的) 代碼實現 /** * Definition for singl

原创 設計模式概述及六大原則

設計模式概述 設計模式(Design Pattern)是一套被反覆使用、經過分類編目的優秀代碼設計經驗的總結。使用設計模式可以提高代碼的重用性,是代碼更易於理解並保證代碼的可靠性。 設計模式一種有 23 種,分爲 3 大類:創建型

原创 Windows網絡編程之Socket通信

一、Windows編程簡介 1、Winsock簡介 Winsock是Windows下網絡編程的標準接口,它允許兩個或多個應用程序在相同機器上,或者通過網絡相互交流。Winsock庫有兩個版本,Winsock1和Winsock2,需

原创 求和爲s的連續正整數序列

題目: 輸入一個正整數s,打印出所有和爲s的連續正整數序列(至少包含兩個數字) 樣例輸入: 21 樣例輸出: 1 2 3 4 5 6 6 7 8 10 11 Code: public class list {

原创 Leetcode 234. Palindrome Linked List迴文鏈表

一、題目描述 判斷鏈表是否是迴文鏈表,要求時間複雜度爲O(n),空間複雜度爲O(1) 二、解題思路 1、取得鏈表的長度 2、反轉任意一半鏈表 3、雙指針從前往後掃描,判斷是否是迴文鏈表 三、代碼實現 /** * Defini

原创 根據前序遍歷和中序遍歷樹構造二叉樹

一、題目描述 根據前序遍歷和中序遍歷樹構造二叉樹. 注意事項:你可以假設樹中不存在相同數值的節點 樣例 給出中序遍歷:[1,2,3]和前序遍歷:[2,1,3]. 返回如下的樹: 2 / \ 1 3 二、解題思路 1、

原创 刪除鏈表中的元素

刪除鏈表中等於給定值val的所有節點。 樣例 給出鏈表 1->2->3->3->4->5->3, 和 val = 3, 你需要返回刪除3之後的鏈表:1->2->4->5。 AC代碼 /** * Definition for s

原创 根據中序遍歷和後序遍歷樹構造二叉樹

一、題目描述 根據中序遍歷和後序遍歷樹構造二叉樹 注意事項:可以假設樹中不存在相同數值的節點 樣例 給出樹的中序遍歷: [1,2,3] 和後序遍歷: [1,3,2] 返回如下的樹: 2 / \ 1 3 二、

原创 和爲s的兩個數字

一:題目描述: 二:Code: 兩種方法: import java.util.Arrays; import org.junit.Test; public class totalArray { public void