原创 劍指offer 之 反轉鏈表

# -*- coding:utf-8 -*- ''' 面試題16:反轉鏈表 基本思路: 斷鏈 (1).保存當前結點pHead的下一結點pHead.next 反轉 (2).使當前結點的下一結點pHead.next指向前一結點pre

原创 劍指offer 之 二叉樹的鏡像

# -*- coding:utf-8 -*- ''' 題目描述 操作給定的二叉樹,將其變換爲源二叉樹的鏡像。 輸入描述: 二叉樹的鏡像定義:源二叉樹 8 / \ 6 10

原创 劍指offer 之 合併兩個排序的鏈表

# -*- coding:utf-8 -*- ''' 面試題17:合併兩個排序的鏈表 輸入兩個單調遞增的鏈表,輸出兩個鏈表合成後的鏈表,當然我們需要合成後的鏈表滿足單調不減規則。 基本思路:遞歸 ''' class ListNode:

原创 微信小程序—智能停車

微信小程序-智能停車 (Author:chimuuu,CommunicationHeart) 停車小程序項目結構圖 小程序主要功能包括: (1)微信用戶一鍵註冊登錄  (2)微信掃碼停車 (3)停車計時計費(帶有使用者頭像及

原创 劍指offer 之 輸出鏈表的倒數第K個結點

# -*- coding:utf-8 -*- ''' 輸入一個鏈表,輸出該鏈表中倒數第k個結點。 ''' ''' 如果在只希望一次遍歷的情況下, 尋找倒數第k個結點, 可以設置兩個指針 第一個指針先往前走k-1步, 然後從第k步開始第二

原创 劍指offer之 二維數組查找

# -*- coding:UTF-8 -*- # 查找字符是否在一個二維數組中 # 思路:從左下角開始查找 # 行數:m = len(array) -1 # 列數:n = len(array[0])-1 class Solutio

原创 劍指offer 之 調整數組順序使奇數位於偶數之前

# coding:utf-8 ''' 輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有的奇數位於數組的前半部分 所有的偶數位於位於數組的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。 ''' class S

原创 劍指offer 之 順時針打印矩陣

# -*- coding:utf-8 -*- ''' 面試20 輸入一個矩陣,按照從外向裏以順時針的順序依次打印出每一個數字, 例如,如果輸入如下矩陣: [[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9

原创 劍指offer 之 樹的子結構

# coding:utf-8 ''' 面試18 題目描述 輸入兩棵二叉樹A,B,判斷B是不是A的子結構。(ps:我們約定空樹不是任意一個樹的子結構) ''' class TreeNode: def __init__(self, x

原创 劍指offer 之 兩個棧來實現一個隊列

# -*- coding:utf-8 -*- ''' 面試7:     用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。     思路:壓入statck1,而刪除的時候先檢查stack2頂是否有元素,           有則直

原创 8個常用排序算法 之 python實現

1、冒泡 #!/usr/bin/env # coding:utf-8 # 排序算法之冒泡排序(1. 穩定排序) # 2. 時間複雜度爲 o(n, n^2) # 3. 基本思想是: #     兩兩比較相鄰元素,如果反序則交換,直到沒有反

原创 劍指offer之 替換空格

# -*- coding:utf-8 -*- ''' 面試4:替換空格 ''' class Solution:     # s 源字符串     def replaceSpace(self, s):         # write cod

原创 劍指offer 之 包含min函數的棧

# -*- coding:utf-8 -*- ''' 面試21:包含min函數的棧 題目描述 定義棧的數據結構,請在該類型中實現一個能夠得到棧最小元素的min函數。 ''' class Solution: def __ini

原创 Whooshalchemyplus 加 jieba 實現flask支持中文全文搜索

    首先flask支持全文搜索的模塊目前用的比較多的只有whooshalchemy以及whooshalchemyplus兩個,不過都僅僅支持英文全文搜索,中文的話需要先進行分詞處理,然後才能夠使用whooshalchemyplus搜到

原创 劍指offer 之 棧的壓入、彈出序列是否對應

# -*- coding:utf-8 -*- ''' 面試22:輸入的兩個整數序列、第一個表示棧的壓入順序,判斷第二個序列是不是該棧的彈出序列 基本思路: (1).建立一個輔助棧,把push序列的數字依次壓入輔助棧, (2