剑指offer-面试题5 反向输出链表值
来源:互联网 发布:node.js php哪个简单 编辑:程序博客网 时间:2024/06/15 05:29
typedef struct ListNode* List;struct ListNode{ int Value; struct ListNode* Next;};void ReverseList1(List list) //使用递归{ if(list != NULL) { if(list->Next != NULL) { ReverseList(list->Next); } std::cout<<list->Value<<" "; }}void ReverseList2(List list) //使用栈{ std::stack<List> stackList; struct ListNode* node = list; while(node != NULL) { stackList.push(node); node = node->Next; } while(!stackList.isEmpty()) { std::cout<<stackList.top()->Value<<" "; stackList.pop(); }}void ReverseList3(List list) //反转指针指向{ List p = NULL; List temp = NULL; if(list != NULL) { return NULL; }else { temp = list->Next; while(temp->Next != NULL) { p = temp->Next; temp->Next = p->Next; p->Next = list->Next; list->Next = p; } while(list != NULL) { std::cout<<list->Value<<" "; list = list->Next; } }}//反转链表ListNode* ReverseList2(ListNode* pHead){ ListNode* pNode=pHead;//当前结点 ListNode* pPrev=NULL;//当前结点的前一个结点 while(pNode!=NULL) { ListNode* pNext=pNode->m_pNext; pNode->m_pNext=pPrev;//当前结点指向前一个结点 pPrev=pNode;//pPrev和pNode往前移动。 pNode=pNext;//这里要使用前面保存下来的pNext,不能使用pNode->m_pNext } return pPrev;//返回反转链表头指针。}
0 0
- 剑指offer-面试题5 反向输出链表值
- 剑指offer 面试题5 反向输出链表
- 剑指offer面试题5—反向打印链表
- 剑指Offer面试题5反向打印链表
- 剑指offer面试题5
- 剑指offer 面试题5
- 剑指offer-面试题5
- 【面试题】剑指offer 5
- 剑指offer 面试题8 输出旋转数组最小值
- 剑指offer 面试题
- 剑指offer面试题
- 剑指offer面试题5(链表反序输出 用递归或者栈)
- 剑指Offer面试题5——倒序输出一个链表
- 剑指Offer面试题5 Java解法
- 剑指Offer(面试题3~5)
- 剑指offer--面试题5:替换空格
- 【剑指offer】面试题 5:替换空格
- 【剑指offer】面试题5:替换空格
- Python 的循环
- 动态设置listView的高度
- idea中使用lombok,简化get和set方法的生成
- __GFP_DIRECT_RECLAIM 对smmu申请memory的函数是申请物理不连续的内存?
- 性能指标之关注指标-网络IO-关注指标
- 剑指offer-面试题5 反向输出链表值
- thread exiting with uncaught exception
- web基础开发(二)
- java.lang.UnsatisfiedLinkError 解决方法
- ActiveMQ安装
- 在caffe中添加样本扩增的功能
- 常见块级元素与内联元素
- iOS10通知(七)--Notification Content Extension
- linux服务器安全配置实例(一)