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        }
  • 相关阅读:
    ruby计算平方和开方
    Silverlight中DataGrid翻页或者滚动时CheckBox/RadioButton显示的问题
    bat文件设置ip地址
    gcc编译多线程
    TCP Nagle算法
    fork父子进程 信号处理
    Unix守护进程的创建示例
    inline内联函数
    volatile类型
    ioctl获取接口名称、IP地址、MAC地址、广播地址等
  • 原文地址:https://www.cnblogs.com/sskset/p/748329.html
Copyright © 2011-2022 走看看