• 奇偶链表


    给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,

    而不是节点的值的奇偶性。

    示例 1:
      输入: 1->2->3->4->5->NULL
      输出: 1->3->5->2->4->NULL
    示例 2:
      输入: 2->1->3->5->6->4->7->NULL
      输出: 2->3->6->7->1->5->4->NULL

    思路:定义三个指针cur,f , s,分别指向头结点,第二个结点,第三个结点,将s结点插入到cur和f结点中间,然后cur指向cur.next,f指向f.next,此时判断f是否为空,为空直接返回,不为空,让s指向f的下一个结点,继续进行循环

    代码如下:

    public ListNode oddEvenList(ListNode head) {
            if(head == null || head.next == null) return head;
            //cur,f,s分别指向第一个,第二个,第三个结点
            ListNode cur = head;
            ListNode f = cur.next;
            ListNode s = f.next;
            while(s!=null){
                f.next = s.next;
                s.next = cur.next;
                cur.next = s;
                cur = cur.next;
                f = f.next;
                //这块一定要判断
                if(f == null) break;
                s = f.next;
            }
            return head;
        }
  • 相关阅读:
    pycharm设置linux中的python解析器进行本地开发
    linux安装python
    Jenkins自动构建的几种方式
    接口加密
    python接口自动化—unittest 常用的断言方法
    cookie 组成结构
    post请求的四种数据格式
    jmeter之数据库相关
    jmeter函数简介
    java_第一年_JDBC(6)
  • 原文地址:https://www.cnblogs.com/du001011/p/10646522.html
Copyright © 2020-2023  润新知