69. x 的平方根
实现 int sqrt(int x) 函数。
计算并返回 x 的平方根,其中 x 是非负整数。
由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。
示例 1:
输入: 4
输出: 2
示例 2:
输入: 8
输出: 2
说明: 8 的平方根是 2.82842...,
由于返回类型是整数,小数部分将被舍去。
我的答案
class Solution {
public int mySqrt(int x) {
if(x==0){
return 0;
}
for(int i=1;i<=x/2;i++){
if(i==x/i){
return i;
}
if(i<x/i && (i+1)>x/(i+1)){
return i;
}
}
return 1;
}
}
206. 反转链表
反转一个单链表。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
进阶:
你可以迭代或递归地反转链表。你能否用两种方法解决这道题?
我的答案
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode reverseList(ListNode head) {
if(head==null || head.next==null){
return head;
}
ListNode now = head;
List<Integer> list = new ArrayList<>();
while(now!=null){
list.add(now.val);
now = now.next;
}
now = head;
for(int i=0;i<list.size();i++){
now.val = list.get(list.size()-1-i);
now = now.next;
}
return head;
}
}