原创 一些簡單的算法題(一)

###1.將兩個有序鏈表合併爲一個新的有序鏈表並返回,新鏈表是通過拼接給定的兩個鏈表的所有節點組成的 public class Solution { public ListNode mergeTwoLists(ListNo

原创 日常算法題(二)

給定兩個字符串s和t,確定它們是否是同構的。 如果s中的字符可以替換爲t,則兩個字符串是同構的。 所有出現的字符必須替換爲另一個字符,同時保留字符的順序。沒有兩個字符可以映射到相同的字符,但字符可以映射到自身。 例1:

原创 日常算法題(四)

1.二叉樹的最小深度 給定二叉樹,找到它的最小深度。 最小深度是沿從根節點到最近的葉節點的最短路徑上的節點數。 注意: 葉子是沒有子節點的節點。 例: 給定二叉樹[3,9,20,null,null,15,7], 返回其最小深度

原创 日常算法題(三)

1.對稱二叉樹 給定一個二叉樹,檢查它是否是鏡像對稱的。 例如,二叉樹 [1,2,2,3,4,4,3] 是對稱的。 但是下面這個 [1,2,2,null,3,null,3] 則不是鏡像對稱的: 想法:直接遞歸遍歷判斷是否相等即可

原创 幾個算法原理

回溯法: 回溯算法實際上一個類似枚舉的搜索嘗試過程,主要是在搜索嘗試過程中尋找問題的解,當發現已不滿足求解條件時,就返回,嘗試新的路徑。 回溯法是一種選優搜索法,按選優條件向前搜索,以達到目標。但當探索到某一步時,發現原先選擇並不優或

原创 一些簡單的算法題

1.將兩個有序鏈表合併爲一個新的有序鏈表並返回,新鏈表是通過拼接給定的兩個鏈表的所有節點組成的 public class Solution { public ListNode mergeTwoLists(ListNode l1

原创 聊天室初版(未完成)

相關客戶端,服務端,及接口: 客戶端 package chat01 import java.io.DataInputStream; import java.io.IOException; import java.net.Socket

原创 棧的應用

一,進制轉換:(十轉任意進制) #include<stdio.h> #include<stdlib.h> # define OK 1 # define ERROR 0 # define Status int typedef int

原创 一個菜鳥的數據結構學習之路——(線性表篇)

線性鏈表的基本操作如下: 相關結構體: 一個線性鏈表的結構必須包含數據域和指針域 #define OVERFLOW 1 #define ERROR 0 #define OK 1 typedef int Status; typed

原创 一個菜鳥的數據結構學習之路(棧篇)

棧的基本操作如下: 相關結構體: typedef int status; typedef struct { SElemType *base; //在棧創建之前和銷燬之後,base的值爲NULL SElemType *

原创 我的簡易圖書管理系統(會日益完善,問題多多,望各位大佬斧正)

簡易圖書管理系統 1.0版本: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> typedef struct boo

原创 一個菜鳥的數據結構學習之路一(線性表篇,望大佬斧正!)

線性表:線性表的順序儲存結構是一種隨機存取的儲存結構 以下代碼及註釋則是其基本操作的簡單實現: 線性表的動態分配順序儲存結構: 儲存結構中最基本的應該是存放數據元素的起始地址,然後還有相應的線性中數據個數和總的最大存放數據個數 s