zoukankan      html  css  js  c++  java
  • 算法-第四版-练习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


    算法-第四版-1.3 背包、队列和栈-习题索引汇总

    算法-第四版习题索引汇总


  • 相关阅读:
    【NOI2015】荷马史诗
    Codeforces Round #415 (Div. 2)
    Codeforces Round #408 (Div. 2)
    bzoj3230
    poj1743
    poj1226
    bzoj1295
    bzoj1294
    bzoj1296
    bzoj1239
  • 原文地址:https://www.cnblogs.com/furzoom/p/7710171.html
Copyright © 2011-2022 走看看