算法(七)

1、给定一个字符串,请你找出其中不含有重复字符的最长子串的长度(无重复字符的最长子串)

代码如下:

public int lengthOfLongestSubstring(String s){

         int n = s.length();

         int ans = 0;

         for(int i=0; i<n; i++){

                  for(int j=i+1; j<=n; j++){

                           if(allUnique(s, i, j)){

                                 ans=Math.max(ans, j-i);

                           }

                  }

         }

         return ans;

}

public boolean allUnique(String s, int start, int end){

        Set<Character> set = new HashSet<>();

        for(int i=start; i<end; i++){

                 Character ch = s.charAt(i);

                 if(set.contains(ch)){

                          return false;

                 }

                 set.add(ch);

        }

        return true;

}

2、操作给定的二叉树,将其变换为源二叉树的镜像。

    解法1:

    /**
     * 递归实现
     * 关键就在于把大问题转化为子问题即可
     * @param root
     */
    public static void Mirror1(TreeNode root) {
        if(root != null) {
            TreeNode temp = root.left;
            root.left = root.right;
            root.right = temp;
            Mirror1(root.left);
            Mirror1(root.right);
        }
    }

    解法2:

    /**
     * 非递归实现, 借助栈或者列表遍历树中每一个非叶子节点
     * 交换其左右子树即可
     * @param root
     */
    public static void Mirror2(TreeNode root) {
        if(root == null) {
            return;
        }
        Stack<TreeNode> stack = new Stack<>();
        stack.push(root);
        while(!stack.isEmpty()) {
            TreeNode node = stack.pop();
            TreeNode temp = node.left;
            node.left = node.right;
            node.right = temp;
            if(node.left != null) {
                stack.push(node.left);
            }
            if(node.right != null) {
                stack.push(node.right);
            }
        }
    }

算法 文章被收录于专栏

根据自己所见所闻进行算法归纳总结

全部评论

相关推荐

03-29 17:05
门头沟学院 Java
asdasdasda...:我前段时间找工作焦虑,有几天连续熬夜熬穿了,然后心脏突然不舒服,立马躺床上睡觉了,然后第二天还是不舒服,去看医生说是心率不齐,吓得我后面天天早早睡觉,调养身体,过了好几天才好过来。所以真的,工作这些东西哪有那么重要,最多钱多一点钱少一点,降低物欲。活着才是最重要的,现在想想真的后怕
如何排解工作中的焦虑
点赞 评论 收藏
分享
05-21 18:17
西北大学 Java
moon_91:哈哈哈哈哈哈哈哈就让他不绕弯子的回复你
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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