利用棧解決問題:
class solution
stack.push('#');
for(int i=0;i這是比較簡單的暴力遍歷
//leetcode submit region begin(prohibit modification and deletion)
class solution
return pre;
}};
總結:這題是使用雙指標很好的乙個例子,雖然是easy題但是還是很有價值的。
class solution
else if(l1->val>=l2->val)
newlist=newlist->next;
}if(l1!=null)else if(l2!=null)
return dummy->next;
}};
總結,這題跟上一題讓我對什麼時候建立新節點以及什麼時候直接使用節點有了更深刻的認識
class solution
listnode* newhead=new listnode(0);
listnode* p=newhead;
listnode* newval1=new listnode(head->val);
p->next=newval1;
p=newval1;
while(head!=null)else
//head=head->next;
}return newhead->next;
}};
我每次都開闢了乙個新的節點,空間複雜度跟時間複雜度應該都是o(n)...其實是有點浪費空間的
這題用的快慢指標,很好很強大,又get到乙個
class solution
}//return
return false;
}};
其實這題用集合儲存應該更簡單一點,但是奈何c++集合實現啥的還沒學到....
這題還有乙個第二版,就是返回環的入口點在哪,其實感覺更像是數學了...
class solution else
}return newhead;
}};
這題我一開始沒想到怎麼處理邊界問題,想了半天感覺太複雜,後來看了一眼答案,讓我把while (null != head && head->val == val) head = head->next;
抄了過來,直接把一開始的問題給特殊處理掉就行。
說來慚愧,這題其實複習考研的時候遇到過...但是現在還是看了別人的答案leetcode刷題記錄
我覺得每天來兩道,練習練習,再看看人家是怎麼優化的。1.給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。c 暴力求解,204ms,9.1m class solution for index,num in enumerate ...
LeetCode刷題記錄
動態規劃和貪心演算法的異同點 class solution throw newruntimeexception 時間複雜度 o n 2 對於每個元素,我們試圖通過遍歷陣列的其餘部分來尋找它所對應的目標元素,這將耗費 o n o n 的時間。因此時間複雜度為 o n 2 需要一種方法,尋找符合要求的元...
leetcode刷題記錄
工作之餘刷刷題排解下寂寞 1 面試題66.構建乘積陣列 解題思路 題目要求可以簡化為求陣列中任意乙個元素左右兩邊所有元素的乘積。偷懶就用了乙個套路,練習了p c c python class solution def constructarr self,a list int list int 除法是...