两个有序数组合并成一个有序数组

extension ViewController {
    func mergeOrderArray(With firstAry: Array<String>,
                         secondAry: Array<String>) -> Array<String> {
        
        var FirstAry = firstAry
        var SecondAry = secondAry
        if FirstAry.isEmpty &&
            SecondAry.isEmpty{
            return []
        }
        
        if FirstAry.isEmpty {
            return SecondAry
        }
        
        if secondAry.isEmpty {
            return FirstAry
        }
        
        var endAry = [String]()
        
        while true {
            if Int(FirstAry.first!) ?? 0 < Int(SecondAry.first!) ?? 0 {
                endAry.append(FirstAry.first!)
                FirstAry.removeFirst()
            } else {
                endAry.append(SecondAry.first!)
                SecondAry.removeFirst()
            }
            
            if FirstAry.isEmpty {
                endAry.append(contentsOf: SecondAry)
                break
            }
            
            if SecondAry.isEmpty {
                endAry.append(contentsOf: FirstAry)
                break
            }
        }
    
        return endAry
    }
}

print(mergeOrderArray(With: ["1","3","5","7","9"],
                              secondAry: ["1","2","17","20","35"]))

打印结果

["1", "1", "2", "3", "5", "7", "9", "17", "20", "35"]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容