位运算

#面试___岗的必刷题单#

#移位运算#
左移:         操作符为<<,向左移动,右边的低位补0,高位的就舍弃掉了,将二进制看作整数,左移1位就相当于乘以2。
无符号右移:操作符为>>>,向右移动,右边的舍弃掉,左边补0。
有符号右移:操作符为>>,向右移动,右边的舍弃掉,左边补什么取决于原来最高位是什么,原来是1就补1,原来是0就补0,将二进制看作整数,右移1位相当于除以2。

#逻辑运算#
按位与&:  两位都为1才为1。
按位或|:    只要有一位为1,就为1。
按位取反~:  1变为0,0变为1。
按位异或^:相异为真,相同为假。

#笔试#

#面试#

#大厂#

#成长#

#数据的本质#

#Java原理#
全部评论

相关推荐

import&nbsp;java.util.Scanner;public&nbsp;class&nbsp;demo&nbsp;{public&nbsp;static&nbsp;void&nbsp;main(String[]&nbsp;args)&nbsp;{//移除链表元素//构造链表1--&gt;4--&gt;2--&gt;4Scanner&nbsp;sc&nbsp;=&nbsp;new&nbsp;Scanner(System.in);int&nbsp;n&nbsp;=&nbsp;sc.nextInt();//链表共有节点个数sc.nextLine();//构造单链表&nbsp;&nbsp;尾插法ListNode&nbsp;head&nbsp;=&nbsp;null;//head一旦确定,就不再移动ListNode&nbsp;tail&nbsp;=&nbsp;null;//随着新节点的加入,不断向后移动if&nbsp;(n&nbsp;&gt;&nbsp;0){for&nbsp;(int&nbsp;i&nbsp;=&nbsp;1;&nbsp;i&nbsp;&lt;=&nbsp;n;&nbsp;i++){int&nbsp;val&nbsp;=&nbsp;sc.nextInt();//输入链表ListNode&nbsp;newNode&nbsp;=&nbsp;new&nbsp;ListNode(val);if&nbsp;(head&nbsp;==&nbsp;null){//插入第一个节点时,head既是头又是尾head&nbsp;=&nbsp;newNode;tail&nbsp;=&nbsp;head;}else{tail.next&nbsp;=&nbsp;newNode;tail&nbsp;=&nbsp;tail.next;}}}sc.nextLine();int&nbsp;target&nbsp;=&nbsp;sc.nextInt();//需要移除的目标值//如果头节点本身就要删除while&nbsp;(head&nbsp;!=&nbsp;null&nbsp;&amp;&amp;&nbsp;head.val&nbsp;==&nbsp;target){head&nbsp;=&nbsp;head.next;//直接将head后移}//判断是否为空if&nbsp;(head&nbsp;==&nbsp;null){return;}//处理头节点之后的节点ListNode&nbsp;current&nbsp;=&nbsp;head;while&nbsp;(current.next&nbsp;!=&nbsp;null){if&nbsp;(current.next.val&nbsp;==&nbsp;target){//找到目标,则移除current.next&nbsp;=&nbsp;current.next.next;}else&nbsp;{//没找到,继续向后current&nbsp;=&nbsp;current.next;}}while&nbsp;(head&nbsp;!=&nbsp;null){System.out.print(head.val&nbsp;+&nbsp;&quot;&nbsp;&quot;);head&nbsp;=&nbsp;head.next;}}}class&nbsp;ListNode{int&nbsp;val;ListNode&nbsp;next;ListNode(int&nbsp;val){this.val&nbsp;=&nbsp;val;}}
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务