- 博客(50)
- 收藏
- 关注
原创 java线程安全问题的原因和解决方案
线程安全问题大多是由全局变量及静态变量引起的,局部变量逃逸也可能导致线程安全问题。若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程同步,否则的话就可能影响线程安全。
2022-05-08 19:51:32
388
原创 给定一个链表,请判断该链表是否为回文结构。回文是指该字符串正序逆序完全一致。
import java.util.*;import java.util.Collections.*;/** public class ListNode {* int val;* ListNode next = null;* }*/public class Solution { /** * * @param head ListNode类 the head * @return bool布尔型 */ public bo...
2022-03-17 13:58:51
550
原创 给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。
/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode ReverseList(ListNode head) { if (head == null) { return null; ...
2022-03-17 13:58:05
2262
原创 输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)
/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) { if(pHead1==null||pHead2...
2022-03-17 13:57:18
248
原创 给定一个链表,删除链表的倒数第 n 个节点并返回链表的头指针例如,给出的链表为: 1\to 2\to 3\to 4\to 51→2→3→4→5, n= 2n=2.删除了链表的倒数第 nn 个节点
import java.util.*;/** public class ListNode {* int val;* ListNode next = null;* }*/public class Solution { /** * * @param head ListNode类 * @param n int整型 * @return ListNode类 */ public ListNode rem...
2022-03-17 13:54:55
267
原创 输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。
/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode Merge(ListNode list1,ListNode list2) { ListNode node = new ListNode(0); ...
2022-03-17 13:53:49
1585
原创 给出一个长度为 n 的单链表和一个值 x ,单链表的每一个值为 listi ,请返回一个链表的头结点,要求新链表中小于 x 的节点全部在大于等于 x 的节点左侧,并且两个部分之内的节点之间与原来的链表
import java.util.*;/** public class ListNode {* int val;* ListNode next = null;* }*/public class Solution { /** * * @param head ListNode类 * @param x int整型 * @return ListNode类 */ public ListNode par...
2022-03-17 13:53:02
939
原创 判断给定的链表中是否有环。如果有环则返回true,否则返回false。
/*** Definition for singly-linked list.* class ListNode {* int val;* ListNode next;* ListNode(int x) {* val = x;* next = null;* }* }*/public class Solution { public boolean hasCycle(ListNode head) {...
2022-03-17 13:52:09
298
原创 给一个长度为n链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null。
/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public ListNode EntryNodeOfLoop(ListNode pHead) { if(pHead==null||pHead.next==null){ ...
2022-03-17 13:51:05
236
原创 JAVA栈的弹出压入序列
classSolution{publicintevalRPN(String[]tokens){Stack<Integer>integerStack=newStack<>();for(Stringtoken:tokens){charc=token.charAt(0);if(c-48<0&&token.leng...
2022-03-17 13:50:09
373
原创 JAVA数字黑洞
给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到 一个新的数字。一直重复这样做,我们很快会停在有“数字黑洞”之称的6174,这个神奇的数字也叫Kaprekar常数。 例如,我们从6767开始,将得到 7766 - 6677 = 1089 9810 - 0189 = 9621 9621 - 1269 = 8352 8532 - 2358 = 6174 7641 - 1467 = 6174 ... ....
2022-03-15 08:36:02
425
原创 JAVA统计n位数中各位数的数量
给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + d0 (0<=di<=9, i=0,...,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。输入描述:每个输入包含1个测试用例,即一个不超过1000位的正整数N。输出描述:对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D及其在N中出现的次数M。要求按D的升序输出。输入例子..
2022-03-15 08:30:38
6519
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人