首页 > 代码库 > 19.反转链表
19.反转链表
http://zhedahht.blog.163.com/blog/static/2541117420073471124487/
非递归
listnode* reverse(listnode* head) {// prev <-cur next->...->null listnode* prev = NULL; listnode* cur = head; listnode* next = NULL; while(cur!=NULL) { next = cur->next; cur->next = prev; // update prev and cur prev = cur ; cur = next; } return prev; }
递归调用
listnode* reverse2(listnode* head) { r(NULL,head,NULL); } listnode* r(listnode* prev,listnode* cur,listnode* next) { if (cur==NULL) return prev; next = cur->next; cur->next = prev; prev = cur; cur = next; return r(prev,cur,next); }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。