//移动0
public static void moveZeroes(int[] nums){
int j=0;
for(int i=0;i<nums.length;i++){
if(ums[i]!=0){
nums[j]=nums[i];
if(i!=j){
nums[i]=0;
}
j++
}
}
}
//链表反转
public static Node testNode(Node node){
Node prev=null
while(node !=null){
Node tmp=node;
// 获得下个正序的节点
node=node.next;
// 倒叙节点赋值
tmp.next=prev;
prev=tmp;
}
return prev;
}
//二分查找返回下标
public static int query(int [] nums,int key){
//设置数组左边的下标
int left=0;
//设置右边的下标
int right=nums.length-1;
//设置 中间下标
int mid=0;
while(left<right){
mid=left+right;
if(key>nums[mid]){
left=mid+1;
}else if(key<nums[mid]){
right=mid-1;
}else{
return mid;
}
}
return -1;
}
初级算法
最新推荐文章于 2024-08-15 14:47:41 发布