题目:新建一个链表,然后反转一下
#include <iostream.h> #include <malloc.h> using namespace std; struct node { int data; node *next; }; void insert(node *root,node *p) { p->next=root->next; root->next=p; } node *create(int a[],int n) { node *root=(node *)malloc(sizeof(node)); root->data=a[0]; root->next=NULL; for(int i=1;i<5;++i) { node *p = (node *)malloc(sizeof(node)); p->data=a[i]; p->next=NULL; insert(root,p); } return root; } node *reverse(node *root) { node *head=root; node *p; node *q; if(head) p=head->next; else return head; while(p!=NULL) { q=p->next; p->next=head; head=p; p=q; } return head; } int main() { node *root; int a[5]={2,3,4,5,6}; root =create(a,5); node *temp1=root; for(int i=0;i<5;++i) { cout<<temp1->data<<endl; temp1=temp1->next; } node *reverseHead=reverse(root); cout<<"After reverse:"<<endl; node *temp2=reverseHead; for(int i=0;i<5;++i) { cout<<temp2->data<<endl; temp2=temp2->next; } }注意:新建链表的时候,切记一定要把节点node的所有元素都指明,例如node 有data、next 不要只初始化data而忘记p->next=NULL;
如果忘记p->next=NULL;则在以后while(p)时候会停不下来
您还没有登录,请您登录后再发表评论
面试题16 反转链表 面试题17 合并两个排序的链表 面试题18 树的子结构 第4章 解决面试题思路 4.2 画图让抽象问题形象化 面试题19 二叉树的镜像 面试题20 顺时针打印矩阵 4.3 举例让抽象问题具体化 面试题21 包含min...
题:反转链表 第 24 题:两两交换链表中的节点; 第 25 题:K 个一组翻转链表; 第 328 题:奇偶链表; 第 203 题:移除链表元素; 第 21 题:合并两个有序链表 第 2 题:两数相加 第 82 题:删除排序链表中的重复...
21.第二十一题,合并两个有序链表 26.第二十六题,删除排序数组中的重复项 27.第二十七题,移除元素 28.第二十八题,实现strStr() 35.第三十五题,搜索插入位置,可以用二分法 38.第三十八题,报数 53.第五十三题,...
面试题22. 链表中倒数第k个节点|Easy|$O(n)$|链表|Done|双指针,第一个指针先遍历k步,另一个再开始面试题24. 反转链表|Easy|$O(n
206.反转链表 92.反转链表II 25.K个一组反转链表 61.旋转链表 24.两两交换链表的节点 链表删除 19.删除链表的倒数第N个结点 83.删除排序链表中的重复元素 82.删除排序链表中的重复元素II 其他 86.分隔链表 138.复制...
面试题24:反转链表(提前想好测试用例,注意其递归实现) 面试题25:合并两个排序的链表 面试题35:复杂链表的复制(深拷贝、浅拷贝,分解复杂问题,遍历链表时的边界条件(用node.next当条件遍历时最后一个节点...
剑指offer(第二版) 序号 题目列表 C实现 Python实现 Java实现 学习笔记 面试题03 数组中重复的数字 面试题04 二维数组中的查找 面试题05 替换空格 面试题06 从尾到头打印链表 面试题07 重建二叉树 面试题09 用两个栈...
反转链表II-92 反转链表 206 栈和队列 二叉树的右视图-199 二叉树的前序遍历-144 简化路径-71 有效的括号-20 逆波兰表达式求值-150 多维数组 flatten 二叉树 二叉搜索树中第K小的元素 二叉树的右视图-199.js 二叉树...
回文数简单第十题:正则表达式匹配困难未解出,要使用动态规划第十一题:盛最多水的容器中等第十二题:整体转罗马数字中等第十三题:罗马数字转整数简单第二十一题:合并两个有序链表简单执行用时:2 ms,在所有Java...
206.反转链表 225.用队列实现栈 232.用栈实现队列 234.回文链表 235.二叉搜索树的最近公共祖先 350.两个数组的交集II 496.下一个最大元素 543.二叉树的直径 medium 2.两数相加 3.无重复字符的最长子串 5.最长回文...
写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。 3.数据类型之间的转换 如何将数值型字符转换为数字(Integer,Double) 如何将数字...
LeetCode [114]判断一个二叉树是否为另一个二叉树的子树| LeetCode [572] |剑指提供[18]二叉搜索树的后序遍历序列|剑指提供[24]链表的实现链表的查询,插入,删除链表的正向遍历与反向遍历反转链表| LeetCode [206]...
剑指24_反转链表_链表 剑指25_合并两个有序的链表_链表 剑指27_二叉树的镜像_二叉树 剑指28_对称二叉树_二叉树 剑指29_顺时针打印矩阵 剑指32_1_从上到下打印二叉树_二叉树层次遍历 剑指32_2_从上到下打印二叉树_...
16反转链表 17合并两个排序的链表 18树的子结构 19二叉树的镜像 20顺时针打印矩阵 21包含min函数的栈 22栈的压入弹出序列 23从上往下打印二叉树 24二叉搜索树的后序遍历序列 25二叉树中和为某一值的路径 26复杂链表...
15、反转链表 16、合并两个排序列表 17、树的子结构 18、二叉树的镜像 19、顺时针打印矩阵 20、包含min函数的栈 21、栈的压入、弹出序列 22、从上到下打印二叉树 23、二叉搜索树的后序遍历 24、二叉树中和为某一值的...
本教程共分为5个部分,第一部分是C语言提高部分,第二部分为C++基础部分,第三部分为C++进阶部分,第四部分为C、C++及数据结构基础部分,第五部分为C_C++与设计模式基础,内容非常详细. 第一部分 C语言提高部分目录...
删除链表的倒数第N个节点 #19 有效的括号 #20 合并两个有序链表 #21 *括号生成 #22 合并K个排序链表 #23 两两交换链表中的节点 #24 K 个一组翻转链表 #25 删除排序数组中的重复项 #26 移除元素 #27 实现strStr() #28...
相关推荐
面试题16 反转链表 面试题17 合并两个排序的链表 面试题18 树的子结构 第4章 解决面试题思路 4.2 画图让抽象问题形象化 面试题19 二叉树的镜像 面试题20 顺时针打印矩阵 4.3 举例让抽象问题具体化 面试题21 包含min...
题:反转链表 第 24 题:两两交换链表中的节点; 第 25 题:K 个一组翻转链表; 第 328 题:奇偶链表; 第 203 题:移除链表元素; 第 21 题:合并两个有序链表 第 2 题:两数相加 第 82 题:删除排序链表中的重复...
21.第二十一题,合并两个有序链表 26.第二十六题,删除排序数组中的重复项 27.第二十七题,移除元素 28.第二十八题,实现strStr() 35.第三十五题,搜索插入位置,可以用二分法 38.第三十八题,报数 53.第五十三题,...
面试题22. 链表中倒数第k个节点|Easy|$O(n)$|链表|Done|双指针,第一个指针先遍历k步,另一个再开始面试题24. 反转链表|Easy|$O(n
206.反转链表 92.反转链表II 25.K个一组反转链表 61.旋转链表 24.两两交换链表的节点 链表删除 19.删除链表的倒数第N个结点 83.删除排序链表中的重复元素 82.删除排序链表中的重复元素II 其他 86.分隔链表 138.复制...
面试题24:反转链表(提前想好测试用例,注意其递归实现) 面试题25:合并两个排序的链表 面试题35:复杂链表的复制(深拷贝、浅拷贝,分解复杂问题,遍历链表时的边界条件(用node.next当条件遍历时最后一个节点...
剑指offer(第二版) 序号 题目列表 C实现 Python实现 Java实现 学习笔记 面试题03 数组中重复的数字 面试题04 二维数组中的查找 面试题05 替换空格 面试题06 从尾到头打印链表 面试题07 重建二叉树 面试题09 用两个栈...
反转链表II-92 反转链表 206 栈和队列 二叉树的右视图-199 二叉树的前序遍历-144 简化路径-71 有效的括号-20 逆波兰表达式求值-150 多维数组 flatten 二叉树 二叉搜索树中第K小的元素 二叉树的右视图-199.js 二叉树...
回文数简单第十题:正则表达式匹配困难未解出,要使用动态规划第十一题:盛最多水的容器中等第十二题:整体转罗马数字中等第十三题:罗马数字转整数简单第二十一题:合并两个有序链表简单执行用时:2 ms,在所有Java...
206.反转链表 225.用队列实现栈 232.用栈实现队列 234.回文链表 235.二叉搜索树的最近公共祖先 350.两个数组的交集II 496.下一个最大元素 543.二叉树的直径 medium 2.两数相加 3.无重复字符的最长子串 5.最长回文...
写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入bbbwlirbbb,输出bbbhhtccc。 3.数据类型之间的转换 如何将数值型字符转换为数字(Integer,Double) 如何将数字...
LeetCode [114]判断一个二叉树是否为另一个二叉树的子树| LeetCode [572] |剑指提供[18]二叉搜索树的后序遍历序列|剑指提供[24]链表的实现链表的查询,插入,删除链表的正向遍历与反向遍历反转链表| LeetCode [206]...
剑指24_反转链表_链表 剑指25_合并两个有序的链表_链表 剑指27_二叉树的镜像_二叉树 剑指28_对称二叉树_二叉树 剑指29_顺时针打印矩阵 剑指32_1_从上到下打印二叉树_二叉树层次遍历 剑指32_2_从上到下打印二叉树_...
16反转链表 17合并两个排序的链表 18树的子结构 19二叉树的镜像 20顺时针打印矩阵 21包含min函数的栈 22栈的压入弹出序列 23从上往下打印二叉树 24二叉搜索树的后序遍历序列 25二叉树中和为某一值的路径 26复杂链表...
15、反转链表 16、合并两个排序列表 17、树的子结构 18、二叉树的镜像 19、顺时针打印矩阵 20、包含min函数的栈 21、栈的压入、弹出序列 22、从上到下打印二叉树 23、二叉搜索树的后序遍历 24、二叉树中和为某一值的...
本教程共分为5个部分,第一部分是C语言提高部分,第二部分为C++基础部分,第三部分为C++进阶部分,第四部分为C、C++及数据结构基础部分,第五部分为C_C++与设计模式基础,内容非常详细. 第一部分 C语言提高部分目录...
删除链表的倒数第N个节点 #19 有效的括号 #20 合并两个有序链表 #21 *括号生成 #22 合并K个排序链表 #23 两两交换链表中的节点 #24 K 个一组翻转链表 #25 删除排序数组中的重复项 #26 移除元素 #27 实现strStr() #28...