原创 劍指offer32||-.從上到下打印二叉樹||

從上到下按層打印二叉樹,同一層的節點按從左到右的順序打印,每一層打印到一行。 例如: 給定二叉樹: [3,9,20,null,null,15,7], 3 / 9 20 / 15 7 返回其層次遍歷結果: [ [3],

原创 劍指offer30-包含min函數的棧

定義棧的數據結構,請在該類型中實現一個能夠得到棧的最小元素的 min 函數在該棧中,調用 min、push 及 pop 的時間複雜度都是 O(1)。 示例: MinStack minStack = new MinStack();

原创 劍指offer27-二叉樹的鏡像

請完成一個函數,輸入一個二叉樹,該函數輸出它的鏡像。 例如輸入: 4 / 2 7 / \ / 1 3 6 9 鏡像輸出: 4 / 7 2 / \ / 9 6 3 1 來源:

原创 劍指offer24-反轉鏈表

定義一個函數,輸入一個鏈表的頭節點,反轉該鏈表並輸出反轉後鏈表的頭節點。 示例: 輸入: 1->2->3->4->5->NULL 輸出: 5->4->3->2->1->NULL 限制: 0 <= 節點個數 <= 5000 這裏

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

題目詳情 輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有奇數位於數組的前半部分,所有偶數位於數組的後半部分。 示例: 輸入:nums = [1,2,3,4] 輸出:[1,3,2,4] 注:[3,1,2,4] 也

原创 淺談前端安全

面試被問到了前端安全方面的,然後一問三不知,現在先總結一下概念性的吧。 XSS攻擊 什麼是XSS XSS全稱跨站腳本攻擊,是指惡意的web用戶將代碼植入到網站提供給其他用戶使用的頁面中,使得在渲染頁面時執行了預期外的代碼。 XSS的攻

原创 內容不足footer位於頁面底部-字節跳動筆試題

內容不足footer位於頁面底部 字節跳動前端面試題,大意如下: 1.頁面有三個模塊,heaer,content,footer 2.當頁面內容超出瀏覽器窗口時不顯示 2.當content不足以填充頁面時footer出現在頁面底部 <!

原创 JS異步機制

JS異步機制 主線程、執行棧、任務隊列 主線程不斷讀取執行棧中的同步事件,直到執行棧空 異步任務結束放入任務隊列,執行棧空時主線程讀取任務隊列 任務隊列讀取完畢,回到步驟1 宏任務與微任務 宏任務:script(整體代碼)、set

原创 js高級語言程序設計筆記——創建對象

工廠模式 通過封裝一個函數來創建對象,所有的對象都是相同的,缺點是無法賦予一個對象特定的類型 function createObject(name,age,job) { var o=new Object(); o.name

原创 css居中總結

通用方法 寬度高度都可以不確定 1.flex(IE10+) .son{ display: flex; justify-content: center; align-items: center; } 2.tran

原创 深淺拷貝

深淺拷貝 javascript中的數據類型 基本類型:undefined,null,Boolean,Number,String,Symbol 保存在棧中,不可改變,複製時是創建副本給變量 引用類型:Object,Array,Funct

原创 JS中的變量聲明——var,let,const的區別

簡述 var 作用域:函數;可以重新分配;可以修改;同一作用域可以重複聲明 let 作用域:塊級;可以重新分配;可以修改;同一作用域不能重複聲明 const 作用域:塊級;不能重新分配;可以修改;同一作業域不能重複聲明 詳細介紹

原创 函數上下文與閉包

作用域鏈 作用域鏈的查找過程中有兩個方向 本身的作業域鏈 作用域鏈中對象的原型鏈 優先查找原型鏈 閉包 閉包是一系列代碼塊(在ECMAScript中是函數),並且靜態保存所有父級的作用域。通過這些保存的作用域來搜尋到函數中的自由變

原创 基本視覺格式化——塊級元素

塊級元素——水平格式化(非替換元素) 不設置margin和width,則width爲父元素的內容寬度(總寬度),margin爲0 若設置了margin,沒有設置width,則width爲總寬度減去margin 過分受限時(margin和

原创 jQuery中AJAX的跨域解決方案

jQuery中封裝了ajax的方法,以下主要討論在這種方法下跨域的問題 1. 在服務端添加響應頭 header('Access-Control-Allow-Origin', '*') header('Access-Control