博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
24. Swap Nodes in Pairs
阅读量:6211 次
发布时间:2019-06-21

本文共 1046 字,大约阅读时间需要 3 分钟。

24. Swap Nodes in Pairs

Given a linked list, swap every two adjacent nodes and return its head.

For example,

Given 1->2->3->4, you should return the list as 2->1->4->3.

Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.

1 /** 2  * Definition for singly-linked list. 3  * function ListNode(val) { 4  *     this.val = val; 5  *     this.next = null; 6  * } 7  */ 8 /** 9  * @param {ListNode} head10  * @return {ListNode}11  */12 var swapPairs = function(head) {13     14     //如果全部交换还简单点,但是这里要求只是相邻的旋转。15     16     17     //假设只有1个节点,那直接返回。因为后面的一个是null。18     //假设有2个节点,那只要把second的next指向first即可,然后返回last19     //假设有3个节点,前2个节点如第二步一样,剩下1个节点和第一步一样。20     //假设有4个节点,递归走第二步21     if(head === null || head.next === null){22         return head;23     }24     25     var first = head;26     var last = head.next;27      28     first.next = swapPairs(last.next);29     last.next = first;30    31     32     return last;33     34 };

 

转载于:https://www.cnblogs.com/huenchao/p/7684139.html

你可能感兴趣的文章
开通技术博客
查看>>
使用SecureCRT在Linux与Windows之间传输文件
查看>>
git获取远程仓库的方式
查看>>
atomic integer operations P176
查看>>
springboot之HelloWorld
查看>>
python全栈_003_Python3运算符
查看>>
新maven项目创建JSP出现小红叉报错 javax.servlet.http.HttpServlet not found
查看>>
微信小程序列表加载更多
查看>>
leetcode笔记-1 twosum
查看>>
深浅拷贝
查看>>
sql查询重复记录、删除重复记录方法大全
查看>>
odoo开发笔记 -- 用户配置界面增加模块访问权限
查看>>
instanceof函数内部机制探析
查看>>
linux下phpstorm的快速安装
查看>>
批量删除和批量修改(参数使用list)
查看>>
前端通用框架可行性研究报告之弹窗
查看>>
数据转换
查看>>
IOS在一个程序中启动另一个程序
查看>>
Dubbo初探
查看>>
CDI Features
查看>>