算法-第四版-练习1.3.30解答
问题
编写一个函数,接受一条链表的首结点作为参数,(破坏性地)将链表反转并返回结果链表的首结点。
解决思路
代码
public Node<Item> reverse()
{
Node<Item> oldFirst = first;;
first = null;
while (oldFirst != null)
{
Node<Item> second = oldFirst.next;
oldFirst.next = first;
first = oldFirst;
oldFirst = second;
}
return first;
}
测试代码:
/**
* Description :
* Author : mn@furzoom.com
* Date : Oct 25, 2016 3:08:48 PM
* Copyright (c) 2013-2016, http://furzoom.com All Rights Reserved.
*/
package com.furzoom.lab.algs.ch103;
/**
* ClassName : E10330 <br>
* Function : TODO ADD FUNCTION. <br>
* date : Oct 25, 2016 3:08:48 PM <br>
*
* @version
*/
public class E10330
{
public static void main(String[] args)
{
LinkList<String> ll = new LinkList<String>();
ll.append("a");
ll.append("B");
ll.append("c");
ll.append("D");
ll.append("e");
ll.printList();
ll.reverse();
System.out.println("After reverse list:");
ll.printList();
}
}
结果:
a B c D e After reverse list: e D c B a
作者:马 岩(Furzoom) (http://www.cnblogs.com/furzoom/)
版权声明:本文的版权归作者与博客园共同所有。转载时请在明显地方注明本文的详细链接,未经作者同意请不要删除此段声明,感谢您为保护知识产权做出的贡献。
版权声明:本文的版权归作者与博客园共同所有。转载时请在明显地方注明本文的详细链接,未经作者同意请不要删除此段声明,感谢您为保护知识产权做出的贡献。

浙公网安备 33010602011771号