zoukankan      html  css  js  c++  java
  • [面试题]给定链表两两倒置?

     

    将给定链表两两倒置,如 P1 -> P2 -> P3 -> P4 -> P5,转换为 P2 -> P1 -> P4 -> P3 -> P5.

    给定链表类 Node{Node* next},写出该转换函数 Node* Fun(Node* line)

     1  static LinkedListNode Fun(LinkedListNode root)
     2        {
     3            LinkedListNode top = null;
     4            LinkedListNode parent = null;
     5
     6            while (root != null{
     7                LinkedListNode next = root.Next;
     8                root.Next = null;
     9
    10                if (next == null)
    11                {
    12                    if (parent == null) top = root;
    13                    else parent.Next = root;
    14                    break;
    15                }

    16                else
    17                {
    18                    LinkedListNode nnext = next.Next;
    19                    if (parent == null) top = next;
    20                    else parent.Next = next;
    21                    next.Next = root;
    22                    parent = root;
    23                    root = nnext;
    24                }

    25            }

    26
    27            return top;
    28        }
  • 相关阅读:
    sqlplus -S选项说明
    oracle中常见set指令
    nohup详解
    centos64位编译32位程序
    【PHP系列】框架的抉择
    【PHP系列】PHP推荐标准之PSR-4,自动加载器策略
    【PHP系列】PHP推荐标准之PSR-3,日志记录器接口
    【PHP系列】PHP推荐标准之PSR-1,PSR-2
    【项目管理】管理工具的抉择 --- 持续更新中
    【CNMP系列】CentOS7.0下安装FTP服务
  • 原文地址:https://www.cnblogs.com/sskset/p/748329.html
Copyright © 2011-2022 走看看