時間限制:1秒 空間限制:32768k 熱度指數:177188本題知識點: 棧
定義棧的資料結構,請在該型別中實現乙個能夠得到棧中所含最小元素的min函式(時間複雜度應為o(1))。解題思路:
class solution
void pop()
}int top()
int min()
private:
stackstackdata;
stackstackmin;
};
時間限制:1秒 空間限制:32768k 熱度指數:212288本題知識點: 棧
輸入兩個整數序列,第乙個序列表示棧的壓入順序,請判斷第二個序列是否可能為該棧的彈出順序。假設壓入棧的所有數字均不相等。例如序列1,2,3,4,5是某棧的壓入順序,序列4,5,3,2,1是該壓棧序列對應的乙個彈出序列,但4,3,5,1,2就不可能是該壓棧序列的彈出序列。(注意:這兩個序列的長度是相等的)解題思路:
總結:
class solution
};*/
class solution
while(!tree_queue.empty())
if(tree_queue.front()->right != null)
result.push_back(tree_queue.front()->val);
tree_queue.pop();
}return result;}};
時間限制:1秒 空間限制:32768k 熱度指數:250141
輸入乙個整數陣列,判斷該陣列是不是某二叉搜尋樹的後序遍歷的結果。如果是則輸出yes,否則輸出no。假設輸入的陣列的任意兩個數字都互不相同。解題思路:
class solution
//找右子樹,大於根節點,有小於根節點的那麼false
int j=i;
vectorsequenceright;
for(;j0)
left=verifysquenceofbst(sequenceleft);
bool right=true;
if(i解題思路:
# 返回二維列表,內部每個列表表示找到的路徑
def findpath(self, root, expectnumber):
# write code here
if not root:
return
if root and not root.left and not root.right and root.val == expectnumber:
return [[root.val]]
result =
left = self.findpath(root.left, expectnumber-root.val)
right = self.findpath(root.right, expectnumber-root.val)
for i in left + right:
return result
時間限制:1秒 空間限制:32768k 熱度指數:221374本題知識點: 鍊錶
輸入乙個複雜鍊錶(每個節點中有節點值,以及兩個指標,乙個指向下乙個節點,另乙個特殊指標指向任意乙個節點),返回結果為複製後複雜鍊錶的head。(注意,輸出結果中請不要返回引數中的節點引用,否則判題程式會直接返回空)
/*
struct randomlistnode
};*/
class solution
}//2. 如果原始鍊錶上的節點n的random指向s,則對應的複製節點n'的random指向s的下乙個節點s'
void connectrandomnodes(randomlistnode* phead)
}//3. 把得到的鍊錶拆成兩個鍊錶,奇數字置上的結點組成原始鍊錶,偶數字置上的結點組成複製出來的鍊錶
randomlistnode* reconnectnodes(randomlistnode* phead)
//迴圈
while(pnode!=null)
return pclonedhead;
}//4. 三步合一
randomlistnode* clone(randomlistnode* phead)
};
每日做題之劍指offer(五)
時間限制 1秒 空間限制 32768k 熱度指數 156582 輸入一棵二叉搜尋樹,將該二叉搜尋樹轉換成乙個排序的雙向鍊錶。要求不能建立任何新的結點,只能調整樹中結點指標的指向。解題思路 struct treenode class solution return prootoftree void h...
出鞘之劍指offer 第14題 剪繩子
給你一根長度為n的繩子,請把繩子剪成m段 m和n都是整數,n 1並且m 1 每段繩子的長度記為k 0 k 1 k m 請問k 0 k 1 k m 可能的最大乘積是多少?使用動態規劃。package offer.xzs.fourteenth public class demo01 public sta...
CPP之劍指 Offer 66 構建乘積陣列
給定乙個陣列 a 0,1,n 1 請構建乙個陣列b 0,1,n 1 其中 b 中的元素 b i a 0 a 1 a i 1 a i 1 a n 1 不能使用除法。根據題目描述,函式名是constructarr,函式輸入是vector a,返回值應當是新的陣列 vector ret。陣列a中的元素對應...