题目:新建一个链表,然后反转一下
#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)时候会停不下来
您还没有登录,请您登录后再发表评论
### 第43题:反转链表 **题目描述**:反转一个单向链表。 **解题思路**:可以通过三个指针来实现,一个指针指向当前节点,一个指向前一个节点,还有一个指向后一个节点。每次迭代时,将当前节点的指针指向前一个...
面试高频算法题总结-剑指Offer题解,主要包含: ...面试题24:反转链表 面试题25:合并两个排序的链表 面试题26:树的子结构 面试题27:二叉树的镜像 面试题28:对称的二叉树 面试题29:顺时针打印矩阵
对于一个字符串,假设它的长度为n,那么可以固定第一个字符,对剩下的n-1个字符进行全排列,然后再固定第二个字符,以此类推。 **4. 内存分配函数与字符串复制** - **题目描述**:实现类似于`malloc()`的功能以及...
面试题16 反转链表 面试题17 合并两个排序的链表 面试题18 树的子结构 第4章 解决面试题思路 4.2 画图让抽象问题形象化 面试题19 二叉树的镜像 面试题20 顺时针打印矩阵 4.3 举例让抽象问题具体化 面试题21 包含min...
题:反转链表 第 24 题:两两交换链表中的节点; 第 25 题:K 个一组翻转链表; 第 328 题:奇偶链表; 第 203 题:移除链表元素; 第 21 题:合并两个有序链表 第 2 题:两数相加 第 82 题:删除排序链表中的重复...
- 第二十四题海盗分金币,涉及到博弈论和投票策略。 10. **其他编程技巧**: - 第十七题字符串排序,可以使用排序算法调整字符顺序。 - 第二十题关键词流中的随机选取,可以使用 reservoir sampling 技术。 - ...
21.第二十一题,合并两个有序链表 26.第二十六题,删除排序数组中的重复项 27.第二十七题,移除元素 28.第二十八题,实现strStr() 35.第三十五题,搜索插入位置,可以用二分法 38.第三十八题,报数 53.第五十三题,...
面试题22. 链表中倒数第k个节点|Easy|$O(n)$|链表|Done|双指针,第一个指针先遍历k步,另一个再开始面试题24. 反转链表|Easy|$O(n
8. **第二十四题**:选项A(推测)。 - 同上。 9. **第二十五题**:选项B(猜测)。 - 生物学题目,未给出具体内容,答案为B纯属猜测。 10. **第二十六题**:选项D。 - 同上。 11. **第二十八题**:选项C。 -...
例如,第1题要求实现一个链表的反转,考察了链表的基本操作和实现方法。第3题则要求设计一个堆栈的实现,考察了堆栈的基本操作和实现方法。 数据结构试卷(二) 本卷主要考察了树和图的数据结构。例如,第2题要求...
206.反转链表 92.反转链表II 25.K个一组反转链表 61.旋转链表 24.两两交换链表的节点 链表删除 19.删除链表的倒数第N个结点 83.删除排序链表中的重复元素 82.删除排序链表中的重复元素II 其他 86.分隔链表 138.复制...
面试题24:反转链表(提前想好测试用例,注意其递归实现) 面试题25:合并两个排序的链表 面试题35:复杂链表的复制(深拷贝、浅拷贝,分解复杂问题,遍历链表时的边界条件(用node.next当条件遍历时最后一个节点...
第一天给1/7,第二天给2/7,第三天给剩下的4/7。 5. **火车与鸟的问题**: - 解答:鸟飞的距离并不受两列火车相遇的影响,因为它始终在飞。鸟飞行的距离等于两车相遇前的时间乘以鸟的速度。 6. **颜色传感器检测...
剑指offer(第二版) 序号 题目列表 C实现 Python实现 Java实现 学习笔记 面试题03 数组中重复的数字 面试题04 二维数组中的查找 面试题05 替换空格 面试题06 从尾到头打印链表 面试题07 重建二叉树 面试题09 用两个栈...
8. **链表操作**:第24题可能涉及链表的反转操作,这是数据结构中常见的操作,需要理解链表的内部结构。 9. **图论**:第26题与图的环有关,理解图的环结构对于解决这类问题至关重要。 10. **概率计算**:第29题...
第24题是C语言编程,需要理解C语言的基本语法和数组操作。 这些题目覆盖了编程基础、算法设计、数据结构、数学应用、逻辑思维等多个方面,是评估应聘者技术能力的重要方式。在准备这些面试题时,不仅需要熟悉相关...
在“JAVA语言程序设计与数据结构课后 编程题解析”这个主题中,我们可以深入探讨Java编程语言和数据结构的基础知识,以及如何通过解决课后编程题来提高编程技能。Java是一种广泛使用的面向对象的编程语言,它以其...
在第二题中,选项D描述了链表的这个特点。 3. **顺序搜索**:顺序搜索在成功找到目标时,平均搜索长度为 `(n+1)/2`,第三题给出了正确的答案D。 4. **链表操作**:在链表中插入节点涉及到前后节点的链接更新。第四...
解决方法是使用选择排序法,即选择最小的元素,并将其与第一个元素交换,然后选择第二小的元素,并将其与第二个元素交换,以此类推。 知识点:选择排序法 3. 程序设计:这道题考查了循环遍历的知识点,要求求出1到...
相关推荐
### 第43题:反转链表 **题目描述**:反转一个单向链表。 **解题思路**:可以通过三个指针来实现,一个指针指向当前节点,一个指向前一个节点,还有一个指向后一个节点。每次迭代时,将当前节点的指针指向前一个...
面试高频算法题总结-剑指Offer题解,主要包含: ...面试题24:反转链表 面试题25:合并两个排序的链表 面试题26:树的子结构 面试题27:二叉树的镜像 面试题28:对称的二叉树 面试题29:顺时针打印矩阵
对于一个字符串,假设它的长度为n,那么可以固定第一个字符,对剩下的n-1个字符进行全排列,然后再固定第二个字符,以此类推。 **4. 内存分配函数与字符串复制** - **题目描述**:实现类似于`malloc()`的功能以及...
面试题16 反转链表 面试题17 合并两个排序的链表 面试题18 树的子结构 第4章 解决面试题思路 4.2 画图让抽象问题形象化 面试题19 二叉树的镜像 面试题20 顺时针打印矩阵 4.3 举例让抽象问题具体化 面试题21 包含min...
题:反转链表 第 24 题:两两交换链表中的节点; 第 25 题:K 个一组翻转链表; 第 328 题:奇偶链表; 第 203 题:移除链表元素; 第 21 题:合并两个有序链表 第 2 题:两数相加 第 82 题:删除排序链表中的重复...
- 第二十四题海盗分金币,涉及到博弈论和投票策略。 10. **其他编程技巧**: - 第十七题字符串排序,可以使用排序算法调整字符顺序。 - 第二十题关键词流中的随机选取,可以使用 reservoir sampling 技术。 - ...
21.第二十一题,合并两个有序链表 26.第二十六题,删除排序数组中的重复项 27.第二十七题,移除元素 28.第二十八题,实现strStr() 35.第三十五题,搜索插入位置,可以用二分法 38.第三十八题,报数 53.第五十三题,...
面试题22. 链表中倒数第k个节点|Easy|$O(n)$|链表|Done|双指针,第一个指针先遍历k步,另一个再开始面试题24. 反转链表|Easy|$O(n
8. **第二十四题**:选项A(推测)。 - 同上。 9. **第二十五题**:选项B(猜测)。 - 生物学题目,未给出具体内容,答案为B纯属猜测。 10. **第二十六题**:选项D。 - 同上。 11. **第二十八题**:选项C。 -...
例如,第1题要求实现一个链表的反转,考察了链表的基本操作和实现方法。第3题则要求设计一个堆栈的实现,考察了堆栈的基本操作和实现方法。 数据结构试卷(二) 本卷主要考察了树和图的数据结构。例如,第2题要求...
206.反转链表 92.反转链表II 25.K个一组反转链表 61.旋转链表 24.两两交换链表的节点 链表删除 19.删除链表的倒数第N个结点 83.删除排序链表中的重复元素 82.删除排序链表中的重复元素II 其他 86.分隔链表 138.复制...
面试题24:反转链表(提前想好测试用例,注意其递归实现) 面试题25:合并两个排序的链表 面试题35:复杂链表的复制(深拷贝、浅拷贝,分解复杂问题,遍历链表时的边界条件(用node.next当条件遍历时最后一个节点...
第一天给1/7,第二天给2/7,第三天给剩下的4/7。 5. **火车与鸟的问题**: - 解答:鸟飞的距离并不受两列火车相遇的影响,因为它始终在飞。鸟飞行的距离等于两车相遇前的时间乘以鸟的速度。 6. **颜色传感器检测...
剑指offer(第二版) 序号 题目列表 C实现 Python实现 Java实现 学习笔记 面试题03 数组中重复的数字 面试题04 二维数组中的查找 面试题05 替换空格 面试题06 从尾到头打印链表 面试题07 重建二叉树 面试题09 用两个栈...
8. **链表操作**:第24题可能涉及链表的反转操作,这是数据结构中常见的操作,需要理解链表的内部结构。 9. **图论**:第26题与图的环有关,理解图的环结构对于解决这类问题至关重要。 10. **概率计算**:第29题...
第24题是C语言编程,需要理解C语言的基本语法和数组操作。 这些题目覆盖了编程基础、算法设计、数据结构、数学应用、逻辑思维等多个方面,是评估应聘者技术能力的重要方式。在准备这些面试题时,不仅需要熟悉相关...
在“JAVA语言程序设计与数据结构课后 编程题解析”这个主题中,我们可以深入探讨Java编程语言和数据结构的基础知识,以及如何通过解决课后编程题来提高编程技能。Java是一种广泛使用的面向对象的编程语言,它以其...
在第二题中,选项D描述了链表的这个特点。 3. **顺序搜索**:顺序搜索在成功找到目标时,平均搜索长度为 `(n+1)/2`,第三题给出了正确的答案D。 4. **链表操作**:在链表中插入节点涉及到前后节点的链接更新。第四...
解决方法是使用选择排序法,即选择最小的元素,并将其与第一个元素交换,然后选择第二小的元素,并将其与第二个元素交换,以此类推。 知识点:选择排序法 3. 程序设计:这道题考查了循环遍历的知识点,要求求出1到...