1、链表翻转
- /*
- public class ListNode {
- int val;
- ListNode next = null;
-
- ListNode(int val) {
- this.val = val;
- }
- }*/
-
- public class Solution {
- public ListNode ReverseList(ListNode head) {
- // 记录上一个节点
- ListNode prev = null;
- // 记录当前节点
- ListNode curr = head;
- while (curr != null) {
- ListNode next = curr.next;
- curr.next = prev;
- prev = curr;
- curr = next;
- }
- return prev;
- }
- }
2、二分查找
- import java.util.*;
-
-
- public class Solution {
- /**
- * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
- *
- *
- * @param nums int整型一维数组
- * @param target int整型
- * @return int整型
- */
- public int search (int[] nums, int target) {
- // write code here
- int left=0;
- int right=nums.length-1;
- while(left<=right){
- int mid=(right-left)/2+left;
- int num = nums[mid];
- if (num == target) {
- return mid;
- } else if (num > target) {
- right = mid - 1;
- } else {
- left = mid + 1;
- }
- }
- return -1;
- }
- }