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        }
  • 相关阅读:
    广播发送和接受者
    contentProvider 内容提供者
    自定义控件,开关左右滑动
    手指多点触控事件
    GO语言练习:第一个Go语言工程--排序
    GO语言练习:不定参数函数
    GO语言练习:多返回值函数
    GO语言练习:for基本用法
    GO语言练习:switch基本用法
    GO语言练习:map基本用法
  • 原文地址:https://www.cnblogs.com/sskset/p/748329.html
Copyright © 2011-2022 走看看