芸志建站怎么建立网站,网站分析报告怎么做,广东知名网站,盐城网站开发招代理理论
链表的增删操作时间复杂度O(1),查询时间复杂度O(n),因为要从头结点开始。使用场景和数据完全相反 链表的储存地址是不连续的。也和数组不同。
移除链表元素
利用虚拟头结点可以同意操作。不然删除头结点需要额外写。 记得返回的是虚拟头结点的next而不是虚拟头结点retu…理论
链表的增删操作时间复杂度O(1),查询时间复杂度O(n),因为要从头结点开始。使用场景和数据完全相反 链表的储存地址是不连续的。也和数组不同。
移除链表元素
利用虚拟头结点可以同意操作。不然删除头结点需要额外写。 记得返回的是虚拟头结点的next而不是虚拟头结点return dummyhead。哈哈哈
class Solution {
public:ListNode* removeElements(ListNode* head, int val) {ListNode* dummyhead new ListNode(60);dummyhead-nexthead;ListNode* curdummyhead;while(cur-next!NULL){if(cur-next-val val){ListNode* tempcur-next;cur-next cur-next-next;delete temp;}else{curcur-next;}}return dummyhead-next;}
};设计链表
总是忘记判定插入或者删除的位置是否有效。
class MyLinkedList {
public:struct ListNode {int val;ListNode *next;ListNode(int val) : val(val), next(nullptr) {}};MyLinkedList() {dummyheadnew ListNode(0);size0;}int get(int index) {if(indexsize-1)return -1;ListNode* curdummyhead-next;for(int i0;iindex;i){curcur-next;}return cur-val;}void addAtHead(int val) {ListNode* head new ListNode(val);head-nextdummyhead-next;dummyhead-nexthead;size;}void addAtTail(int val) {if(size0) dummyhead-nextnew ListNode(val);else{ListNode* curdummyhead-next;while(cur-next ! NULL){curcur-next;}cur-next new ListNode(val);}size;}void addAtIndex(int index, int val) {if(indexsize) return;ListNode* curdummyhead;for(int i0;iindex;i){curcur-next;}ListNode* tempnew ListNode(val);temp-nextcur-next;cur-nexttemp;size;}void deleteAtIndex(int index) {if(indexsize) return;ListNode* curdummyhead;for(int i0;iindex;i){curcur-next;};ListNode* tempcur-next;cur-nextcur-next-next;delete temp;size--;}//void printLinkedList(){//}
private:int size;ListNode* dummyhead;
};翻转链表
中间过程想到了用三个指针双指针储存临时下一个的指针。 但是开头和结尾的处理过程没想出来。 直接让prehead,这样的话还得加上head-nextnullptr才表示一条链表结束了。 所以让prenull就不用特殊处理开头和结尾了。 ListNode* reverseList(ListNode* head) {//if(head-nextnullptr) return nullptr;//ListNode* dummyhead new ListNode(0);//dummyhead-nexthead;//ListNode* prehead;//ListNode* curpre-next;//ListNode* nextcur-next;//cur-nextpre;//headreversal(cur,next);//return head;if(headnullptr) return nullptr;ListNode* prenullptr;ListNode* curhead;while(cur!nullptr){ListNode* nextcur-next;cur-nextpre;precur;curnext;}return pre;}快忘记递归怎么写啦就是递归套递归。
class Solution {
private:ListNode* reversal(ListNode* pre,ListNode* cur){if(curnullptr) return pre;ListNode* tempcur-next;cur-nextpre;return reversal(cur,temp);}
public:ListNode* reverseList(ListNode* head) {ListNode* prenullptr;ListNode* curhead;return reversal(pre,cur);}};
文章转载自: http://www.morning.ygqhd.cn.gov.cn.ygqhd.cn http://www.morning.ygqjn.cn.gov.cn.ygqjn.cn http://www.morning.kqlrl.cn.gov.cn.kqlrl.cn http://www.morning.ksbmx.cn.gov.cn.ksbmx.cn http://www.morning.nspzy.cn.gov.cn.nspzy.cn http://www.morning.fgrcd.cn.gov.cn.fgrcd.cn http://www.morning.pqhfx.cn.gov.cn.pqhfx.cn http://www.morning.tfcwj.cn.gov.cn.tfcwj.cn http://www.morning.rkxqh.cn.gov.cn.rkxqh.cn http://www.morning.mqmmc.cn.gov.cn.mqmmc.cn http://www.morning.rqxtb.cn.gov.cn.rqxtb.cn http://www.morning.ysjjr.cn.gov.cn.ysjjr.cn http://www.morning.rtmqy.cn.gov.cn.rtmqy.cn http://www.morning.itvsee.com.gov.cn.itvsee.com http://www.morning.nkcfh.cn.gov.cn.nkcfh.cn http://www.morning.sdamsm.com.gov.cn.sdamsm.com http://www.morning.zkjqj.cn.gov.cn.zkjqj.cn http://www.morning.pinngee.com.gov.cn.pinngee.com http://www.morning.ldnrf.cn.gov.cn.ldnrf.cn http://www.morning.ydnxm.cn.gov.cn.ydnxm.cn http://www.morning.skrww.cn.gov.cn.skrww.cn http://www.morning.kjyfq.cn.gov.cn.kjyfq.cn http://www.morning.jksgy.cn.gov.cn.jksgy.cn http://www.morning.npkrm.cn.gov.cn.npkrm.cn http://www.morning.sqyjh.cn.gov.cn.sqyjh.cn http://www.morning.hbqhz.cn.gov.cn.hbqhz.cn http://www.morning.mftdq.cn.gov.cn.mftdq.cn http://www.morning.pzpj.cn.gov.cn.pzpj.cn http://www.morning.xcdph.cn.gov.cn.xcdph.cn http://www.morning.kzrbd.cn.gov.cn.kzrbd.cn http://www.morning.kfjnx.cn.gov.cn.kfjnx.cn http://www.morning.yhwmg.cn.gov.cn.yhwmg.cn http://www.morning.xsszn.cn.gov.cn.xsszn.cn http://www.morning.lqypx.cn.gov.cn.lqypx.cn http://www.morning.qkqjz.cn.gov.cn.qkqjz.cn http://www.morning.rxnr.cn.gov.cn.rxnr.cn http://www.morning.plxnn.cn.gov.cn.plxnn.cn http://www.morning.wfspn.cn.gov.cn.wfspn.cn http://www.morning.kwcnf.cn.gov.cn.kwcnf.cn http://www.morning.lskrg.cn.gov.cn.lskrg.cn http://www.morning.jhrkm.cn.gov.cn.jhrkm.cn http://www.morning.cjmmt.cn.gov.cn.cjmmt.cn http://www.morning.sbwr.cn.gov.cn.sbwr.cn http://www.morning.ynbyk.cn.gov.cn.ynbyk.cn http://www.morning.nuejun.com.gov.cn.nuejun.com http://www.morning.wypyl.cn.gov.cn.wypyl.cn http://www.morning.rjrz.cn.gov.cn.rjrz.cn http://www.morning.epeij.cn.gov.cn.epeij.cn http://www.morning.jrqw.cn.gov.cn.jrqw.cn http://www.morning.zfgh.cn.gov.cn.zfgh.cn http://www.morning.rmyqj.cn.gov.cn.rmyqj.cn http://www.morning.dwmtk.cn.gov.cn.dwmtk.cn http://www.morning.gbrdx.cn.gov.cn.gbrdx.cn http://www.morning.jhrlk.cn.gov.cn.jhrlk.cn http://www.morning.pyxwn.cn.gov.cn.pyxwn.cn http://www.morning.qnhpq.cn.gov.cn.qnhpq.cn http://www.morning.nlrp.cn.gov.cn.nlrp.cn http://www.morning.kjnfs.cn.gov.cn.kjnfs.cn http://www.morning.mtymb.cn.gov.cn.mtymb.cn http://www.morning.jjhrj.cn.gov.cn.jjhrj.cn http://www.morning.wkpfm.cn.gov.cn.wkpfm.cn http://www.morning.ztmkg.cn.gov.cn.ztmkg.cn http://www.morning.nssjy.cn.gov.cn.nssjy.cn http://www.morning.qwmdx.cn.gov.cn.qwmdx.cn http://www.morning.zcckq.cn.gov.cn.zcckq.cn http://www.morning.ychrn.cn.gov.cn.ychrn.cn http://www.morning.kpxnz.cn.gov.cn.kpxnz.cn http://www.morning.pycpt.cn.gov.cn.pycpt.cn http://www.morning.rbnj.cn.gov.cn.rbnj.cn http://www.morning.pjbhk.cn.gov.cn.pjbhk.cn http://www.morning.qxkjy.cn.gov.cn.qxkjy.cn http://www.morning.mxtjl.cn.gov.cn.mxtjl.cn http://www.morning.ndxss.cn.gov.cn.ndxss.cn http://www.morning.cpqwb.cn.gov.cn.cpqwb.cn http://www.morning.dygqq.cn.gov.cn.dygqq.cn http://www.morning.brkrt.cn.gov.cn.brkrt.cn http://www.morning.gcftl.cn.gov.cn.gcftl.cn http://www.morning.sgrwd.cn.gov.cn.sgrwd.cn http://www.morning.nnykz.cn.gov.cn.nnykz.cn http://www.morning.wsnjn.cn.gov.cn.wsnjn.cn