Leetcode 226. 翻转二叉树
需要注意的事,二叉树有类似指针的玩意,即图中第一次交换第二层的数据时,事连着下面的一起交换。1.递归解法public TreeNode invertTree(TreeNode root) { if(root == null){ return root; } TreeNode left = root.left; root.left = root.rig
觉宇宙之无穷,识盈虚之有数
需要注意的事,二叉树有类似指针的玩意,即图中第一次交换第二层的数据时,事连着下面的一起交换。1.递归解法public TreeNode invertTree(TreeNode root) { if(root == null){ return root; } TreeNode left = root.left; root.left = root.rig
新建一个类名xxxUtil,标记@Component注解,配置service注入,提供init()方法,就可以调用service层里面的方法了@Component public class SignalUtil { @Autowired private SignalService signalService; public static SignalUtil signal
个人感觉很有意思的一道题~大体思路就是,从0下标开始遍历.确定0下标所指的字符的最远位置,如果最远位置与当前位置下标相同(即只出现一次),则加入结果集。如果有更远的位置,从该下标的下一个位置开始遍历,依次寻找从0...maxPos中的字符的更远位置,如果存在更远的,更新maxPos.当遍历位置与maxPos相同时,加入结果集。本题可使用int[]数组代替HashMap以提高效率。public Li
方法1.使用JDK排序后进行对比public int findUnsortedSubarray(int[] nums) { int[] sort = nums.clone(); Arrays.sort(sort); int len = sort.length; int left = 0; int right = len - 1; while(lef
方法1.可以采用一个二维数组存放该数组中的数相加所能到达的每个数值,最后判断是否有target.public boolean canPartition(int[] nums) { int len = nums.length; if(len == 1){ return false; } if(len == 2){ return nums