剑指offer
_calm
踏实下来,越努力越幸运!
展开
-
反转链表--《剑指offer》
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 有两种解题思路: 1.很笨的做法。先遍历链表,求出链表的长度,然后定义一个和链表长度一样的数组,把数存到这个数组中,利用这个数组反向构建这个链表。代码如下: /* public class ListNode { int val; ListNode next =原创 2016-10-11 13:50:58 · 380 阅读 · 0 评论 -
输入一个链表,输出该链表中倒数第k个结点。--《剑指offer》
题目描述: 输入一个链表,输出该链表中倒数第k个结点。 有三种解题思路: 1.传统的做法。先统计链表中节点的个数,倒数第k个结点相当于顺数第length-k+1个结点,依次遍历到该节点即可,代码如下: /* public class ListNode { int val; ListNode next = null; ListNode(int val) {原创 2016-10-10 10:02:34 · 466 阅读 · 0 评论 -
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。--《剑指offer》
题目描述: 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 有两种解题思路: 1.传统的做法,对base和exponent进行讨论,然后迭代运算,代码如下: public class Solution { public double Power(double base, int exponent) {原创 2016-10-08 11:17:23 · 5193 阅读 · 0 评论 -
输入一个整数,输出该数二进制表示中1的个数(其中负数用补码表示)--《剑指offer》
题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 有两种解题思路: 1.因为题目给出的是int类型,java中的int类型用32位表示,把这个数依次无符号右移(考虑到负数所以选择无符号右移)然后与1作与运算。如果结果为1则count自增,代码如下: public class Solution { public int NumberOf1(i原创 2016-10-07 22:48:25 · 7213 阅读 · 6 评论 -
机器人运动范围--《剑指offer》
题目描述: 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子? 解题思路: 用一个boolean原创 2017-06-28 11:04:51 · 404 阅读 · 0 评论