04 2018 档案

两两交换链表中的节点
摘要:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 常规方法 递归方法: 阅读全文

posted @ 2018-04-26 20:42 Deltadeblog 阅读(145) 评论(0) 推荐(0)

删除链表的倒数第N个节点
摘要:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 一种方法是先计算链表的长度N,然后定位到第(N-n)个节点,删除节点(N-n+1)也即(倒数第n个节点) 代码如下: 第二种方法是,使用两个指针,首先将第一个指针置于第二个的后n+1个节点处。再同时移动两个指针,当第一个指向 阅读全文

posted @ 2018-04-25 21:21 Deltadeblog 阅读(266) 评论(0) 推荐(0)

盛最多水的容器
摘要:给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。画 n 条垂直线,使得垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 注意:你不能倾斜容器,n 至少是2。 首先需要指出的 阅读全文

posted @ 2018-04-23 20:52 Deltadeblog 阅读(1539) 评论(0) 推荐(0)

求幂pow()
摘要:pow(x, n) 求x的n次方。 最简单的方法便是计算n个x相乘 该方法计算量较大,如pow(3, 1024)则需要1024次相乘运算。 可以将其简化为pow(9, 512),运算次数减小一半,一直简化 阅读全文

posted @ 2018-04-10 20:12 Deltadeblog 阅读(152) 评论(0) 推荐(0)

颠倒整数
摘要:给定一个 int 整数,将其颠倒。假设只能处理 32 位 int 范围内的整数。根据这个假设,如果颠倒后的结果超过这个范围,则返回 0。 123 -> 321 -123 -> -321 120 -> 21 实现方法较为简单,代码如下: if (result>Integer.MAX_VALUE/10 阅读全文

posted @ 2018-04-09 20:05 Deltadeblog 阅读(122) 评论(0) 推荐(0)

两数相加
摘要:给定两个非空链表来代表两个非负整数,位数按照逆序方式存储,它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。 你可以假设除了数字 0 之外,这两个数字都不会以零开头。 示例: 定义进位变量carry,记录每次相加的进位情况。 两个链表的长度可能不同,可以使用null代替没有的节点,使用0 阅读全文

posted @ 2018-04-08 21:26 Deltadeblog 阅读(590) 评论(0) 推荐(0)

两数之和 Two Sum
摘要:给定一个整数数列,找出其中和为特定值的那两个数。 你可以假设每个输入都只会有一种答案,同样的元素不能被重用。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 方法一 使用i,j 阅读全文

posted @ 2018-04-01 21:12 Deltadeblog 阅读(174) 评论(0) 推荐(0)

导航