常考数据结构与算法:反转链表
题目描述
输入一个链表,反转链表后,输出新链表的表头。
示例1
输入
{1,2,3}
返回值
{3,2,1}
public class ReserverAlgo {public static void main(String[] args) {ListNode a = new ListNode(1);ListNode b = new ListNode(2);ListNode c = new ListNode(3);a.next = b;b.next = c;ListNode temp = a;while(null != temp){System.out.println(temp.val);temp = temp.next;}System.out.println("反转。。。");Solution s = new Solution();a = s.ReverseList(a);temp = a;while(null != temp){System.out.println(temp.val);temp = temp.next;}}
}class ListNode {int val;ListNode next = null;ListNode(int val) {this.val = val;}
}class Solution {public ListNode ReverseList(ListNode head) {if(null == head || head.next == null){return head;}ListNode newHead = new ListNode(0);ListNode temp = head;while(null != temp){// 先记录下一个节点ListNode p = temp.next;// 将当前节点设置为头节点的下一个节点temp.next = newHead.next;newHead.next = temp;temp = p;}return newHead.next;}
}
常考数据结构与算法:反转链表相关推荐
- 常考数据结构与算法:删除链表的倒数第n个节点
题目描述 给定一个链表,删除链表的倒数第n个节点并返回链表的头指针 例如, 给出的链表为:1->2->3->4->5, n= 2.删除了链表的倒数第n个节点之后,链表变为1-& ...
- 常考数据结构与算法:单链表的排序
题目描述 给定一个无序单链表,实现单链表的排序(按升序排序). 输入 [1,3,2,4,5] 返回值 {1,2,3,4,5} public class SortInListME {public sta ...
- 常考数据结构与算法:反转字符串
题目描述 写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串.(字符串长度不超过1000) 示例 输入 "abcd" 返回值 "dcba" publi ...
- 常考数据结构与算法:输出二叉树的右视图
题目描述 请根据二叉树的前序遍历,中序遍历恢复二叉树,并打印出二叉树的右视图 上图树的右视图为:{1,4,3,7} 做此题之前可以先做下面3道题: 1. 常考数据结构与算法:求二叉树的层序遍历 2.常 ...
- 常考数据结构与算法:求二叉树的层序遍历
题目描述 给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历) 例如: 给定的二叉树是{3,9,20,#,#,15,7}, 该二叉树层序遍历的结果是 [ [3], [9,20], ...
- 常考数据结构与算法:每k个节点反转链表
题目: 给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表. k 是一个正整数,它的值小于或等于链表的长度.如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序. 示例 : 给定这 ...
- 常考数据结构与算法:两个链表生成相加链表
题目描述 假设链表中每一个节点的值都在 0 - 9 之间,那么链表整体就可以代表一个整数. 给定两个这种链表,请生成代表两个整数相加值的结果链表. 例如:链表 1 为 9->3->7,链表 ...
- 常考数据结构与算法:判断一个链表是否为回文结构
题目描述 给定一个链表,请判断该链表是否为回文结构. 示例1 输入 [1,2,2,1] 返回值 true 思路: 双指针,快指针一次走两步,慢指针一次走一步,快指针走完,慢指针走到中点.然后将中点开始 ...
- 常考数据结构与算法:两个链表的第一个公共结点
题目描述 输入两个链表,找出它们的第一个公共结点.(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的) 面试的时候碰到这道题,很多应聘者的第一反应就是蛮力法:在第 ...
最新文章
- java 生成 防伪码,C#生成防伪码的思路及源码分享
- Python高级特性: 函数编程 lambda, filter,map,reduce
- ByteArrayOutputStream和ByteArrayInputStream的简单使用
- windows 2012 非pdc DC强行重置NTP
- Android TableLayout
- SQL SERver2005中row_number() 的用法
- enum枚举类型 的用法
- Docker seaweedfs
- CentOS7上实现Squid缓存服务器的两种模式
- 多人对战中国象棋文档
- 测试人员应该具备的几种思维
- 力扣每日一题(九——保持城市天际线)
- 使用Echars实现水滴状、环形图、分割图、堆叠、组织架构图、地图轮廓等图表
- 从今起,我蹲马步,苦练基本功
- 转载之-中值滤波均值滤波
- Live800:回复慢十秒流量往外跑,客服不应答推广费白花
- 智汀教你如何用手机远程控制智能门锁
- Java Security Architecture--Java安全体系技术文档翻译(三)
- numpy.random.rand(),numpy.random.randn(),numpy.random.normal()函数介绍和示例
- Revit二开 批量链接模型