面试之路(21)-链表的倒序实现
2016-05-03 21:09
162 查看
链表的倒序实现
思路分析:
改变链表的形状是不妥的,需要和面试官沟通采用stack来存储遍历的节点,因为递归可以来实现stack的功能,也可以采用递归实现
java代码:
stack实现:
class ListNode{ int key; ListNode next; } void reverseStack(ListNode head){ Stack st = new Stack(); while(head != null){ st.push(head); head =head.next; } while(!st.isEmpty()){ head = (ListNode) st.pop(); System.out.println(head.key+""); } }
递归实现
class ListNode{ int key; ListNode next; } void reverse(ListNode head){ if(head != null){ if(head.next != null){ reverse(head.next); } System.out.println(head.key+""); } }
相关文章推荐
- 百度网页搜索部_数据挖掘实习生面试
- JAVA多线程和并发基础面试问答
- 硬件工程师-面试笔记0305
- 多线程并发库高级应用 之 使用java5中同步技术的3个面试题
- 搜狐云平台前端实习生面试总结
- 程序员的工作
- 一道题识别优秀的程序员
- 一道题识别不靠谱的程序员
- 《剑指offer》面试3:二维数组查找
- 作为程序员我们应该知道什么
- JAVA多线程和并发基础面试题
- 十道海量数据处理面试题与十个方法大总结(转)
- 面试之路(20)-字符串中空格替换一类问题详解
- 面试之路(20)-字符串中空格替换一类问题详解
- 面试之路(20)-字符串中空格替换一类问题详解
- 剑指Offer 面试题45:圆圈中最后剩下的数字(约瑟夫环问题,ZOJ 1088:System Overload类似)题解
- Java面试问题
- web前端面试题及答案 html篇 下
- 11个提问频率最高的PHP面试题
- Web程序员最常用的11款PHP框架